miau's blog?

Perl + 機種依存文字

Perl で open (FH, "<:encoding(shiftjis)", "hoge.txt"); とかやって、ShiftJIS で入力 → UTF-8 で処理 → 再度 ShiftJIS で出力、なんて処理を今までよく書いてたわけですが。
どうもこの変換の過程で機種依存文字がおかしくなってしまうみたいです。
(出力結果を見ると \xff とか出力されたり?)

なんかこのあたり仕事で使うこともありそうなので、解決方法を調べてみました。

http://saba.three-a.co.jp/~toku/diary/?200307c&to=200307295#200307295

あたりにまとまってまして。
encode 周りを使う場合は "shiftjis" でなく "cp932" を指定してやればいいそうです。

んー・・・ShiftJIS と CP932 って別物だったんですね。
やっぱ体系的に学習してない分野の知識はかなり怪しいなぁ。


で、実際それでうまく処理できてるみたいです。
今後よほど特殊な条件(機種依存文字を出力するとまずい場合や、古い Encode モジュールしか使えない場合)以外は "cp932" 指定で行こうと思います。

posted at 12:45:50 on 2004-12-26 by miau - Category: Perl No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

No comments yet

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。