- 2008/05/15 Thu
-
あと、ActivePerlでUTF16を扱うには一手間必要。スクリプティング言語資料室(仮)
http://www.kt.rim.or.jp/~kbk/ActivePerlで UTF-16(BE|LE)のデータを出力するときの注意事項
ActivePerlではファイルをオープンしようとすると、特に指定しなければ テキストモードでオープンします。 このため出力の文字コードにUTF-16のデータを出力しようとしたとき、 テキストモード時に行われる LF → CR LF 変換が変なタイミングで 行われてしまうため、出力結果がおかしくなります。 対応策は 183 : Writing a Unicode file via perl ... にあるとおり、ファイルのオープン時の指定を工夫するというものです。183 Writing a Unicode file via perl __
http://blogs.msdn.com/brettsh/archive/2006/06/07/620986.aspxif ( $ESENT ){ #ifdef ESENT open( INIFILE, "<:raw:encoding(UTF16-LE):crlf:utf8", "$INIFILE" ) || die "Cannot open $INIFILE: "; print INIFILE "\x{FEFF}"; # print BOM (Byte Order Mark) for the unicode file } else { #else open( INIFILE, "<$INIFILE" ) || die "Cannot open $INIFILE: "; } #endif
ActivePerlでのUTF-16出力 - a geek
http://d.hatena.ne.jp/hiratara/20070115/1168874035