タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

perlとutf8に関するheinaのブックマーク (2)

  • Perl の utf8 まわりのおまじない

    Perl の utf8 まわりのおまじない 2009-09-12-4 [Programming] 自分用メモ。 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); (追記:より良いおまじない。詳細は後述。 $text = Encode::decode_utf8($text) unless utf8::is_utf8($text); ) PerlCGI モジュールでクエリから得られるデータの文字列のutf8フラグの有無が環境によって違うことがあってイライラ。 でもこのおまじないでなんとかなった。 こんな文脈で使う: use utf8; use CGI; ... my $text = $q->param('text') || ""; utf8::decode($text) unless utf8:

    Perl の utf8 まわりのおまじない
  • perlのUTF8フラグの扱い方がやっとわかってきたので、まとめ。 - あそことは別のはらっぱ

    この2日間*1ほど、EUC-JPなデータおよびスクリプトをUTF-8なものに変更する作業などしていたわけで。 EUC-JPと言っても、実際には丸付き数字とかそういうのが山ほど入っている、綺麗とはいえない内容で。これをつつがなくUTF-8に変更するのに一苦労。 過去にこの辺を書いたおかげで、それに気が付くのに時間はかからなかったけど、それでもJcode.pmとEncode.pmの挙動の違い(というか、使い勝手の違い)には泣かされた。 おまけに、元のスクリプト、use strictもやってなかったりする、いい加減古いものだったりしたし。 ということで、はまった内容をメモっておくことにする。 先に結論だけ書いておくと 機種依存文字が入っているときは、EUCJPMSとCP932が必須 入力はすべてdecodeして、処理したら全てencodeして出力。内部コードは絶対に内部にとどめる。 少なくとも1

    perlのUTF8フラグの扱い方がやっとわかってきたので、まとめ。 - あそことは別のはらっぱ
  • 1