メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

PukiWiki最新記事
[ リロード ]   [ ソース ]  [ トップ | インデックス | 単語検索 | ご意見、ご感想 ]

Counter: 7068, today: 1, yesterday: 3

substr関数を使用したときの文字化け対策 (Perl / UTF-8)

UTF-8で漢字は3バイトコードなので、substr関数で文字を取り出すと文字化けを起こしてしまう。

対策としては、UTF-8でdecodeしたものをsubstr関数で処理した後、encodeして元に戻す。

utf8::decode($str);
$str = substr($str, 0, number);
utf8::encode($str);

   

ページコメント
投稿された内容の著作権はコメントの投稿者に帰属します。

トラックバック [ トラックバック(1) ]
トラックバック URL: http://myboom.mkch.net/modules/pukiwiki/tb/77
UTF-8な文字列をsubstrする
要約: ずいぶん以前からPerlで物を書くときには、文字コードをUTF-8にし、use utf8をしないで書いている。で、その際、substrなどで文字列を切り出したいとすると、UTF-8は1文字あたりの長さが可変長であるため、入力文字列によっては変な文字が切り出...
Weblog: Kerosoft : Modus Operandi
日時: 2009年9月23日 05:13:19