2003年11月10日月曜日

PerlでUnicode


NDO::Weblog: Perl 5.8 以降においての Unicode 文字列の扱い方


RssRollingを作っていていつも悩まされていたのが Perl における Unicode 文字列の文字化け。ちょっと調べてみました。


Perl5.6からUnicodeがサポートされるようになったことは知っていましたが、5.6ではバグが多くて使い物にならないと聞いたし、5.8.0でもShift-Jisがうまく扱えないバグがあると聞いていたので、Unicodeにはいままでほとんどふれたことがありませんでした。

ですが、5.8.1がリリースされ、これらのバグが解消され安心してUnicodeを使える環境になりつつある(なった?)ようです。

このエントリーはUnicodeの扱い方を非常にわかりやすくまとめてあります。



さて、Unicode文字列にはUTF8フラグという内部的なフラグが存在し、それが文字列の扱いに影響を与えているということは分かりました。では、UTF8フラグが立っている文字列とUTF8フラグが立っていない文字列を連結した場合などの処理はどうなってしまうのでしょうか。

僕も日頃の開発でHTML::Templateモジュールはよく使うので、この記事を目にしていなかったら、Unicodeを使う際に文字化けで相当はまっていたことでしょう。

0 件のコメント:

コメントを投稿