Perlリファレンス

Wide character in print at







Wide character in print at


これは、UTF-8とかUnicodeを使い、マルチバイト文字を出力するときにでてくるエラーメッセージです。
メッセージがでてもPerlが終了するようなことは無いので、そのまま続きの処理が実行されますが、でてきたらきもいですよね。

プログラムの最初の方でbinmodeプラグマを使い、出力文字がutf8であることを指定すればでなくなります。
binmode STDOUT,":utf8";

UTF-8の文字列が入ったファイルを扱う際に文字化けが発生した場合、
use open ":utf8";
を記述し、入出力がUTF-8であることを指定すれば文字化けの回避ができる場合が多いです。



Unicodeじゃなかった時代のPerlはUnicodeもシングルバイトで処理してたからこんなことしなくてよかったんですがね。
Unicodeになって、マルチバイト文字を使うのはかえって不便になった気がします・・・






[編集] [新規] [削除] [バックアップ] [アップロード] [ログイン] [管理]
whwiki 1.3