スポンサーリンク

Perl と Encode と シフトJIS と 機種依存文字

Windows の機種依存文字を処理してハマったので覚え書きです。

Perl で普通にシフトJISを扱う場合、

みたいにするわけだけど、Encode の 'Shift_JIS' の変換ってシフトJISの拡張に当たる機種依存文字には対応してないんですよね。だから「①」とかを decode して encode すると文字化けしちゃうわけですよ。

じゃぁ、どうするかってぇと、CPANモジュールの Enocde::JIS2K というのを使うのが一番問題なさそう。

でも環境固定で勝手にCPANモジュールを入れられないよ! ってときは、文字コードを 'Shift-JIS' ではなくて 'cp932' として処理するといいみたい。

じゃぁ、他の環境だとどうすんの? とちょっと思ったけど、今どき文字コードでシフトJISを使ってるのなんて Windows くらいだろうから、たぶんこれでOK・・・という事にしておこう。

スポンサーリンク
コメント

Excel操作はcp932だと思うが、、、
全く以て文字化けを解消できない・・・困った。

コメントありがとうございます。

Windous上でなら、ではありますが、僕だったらExcelからの読み込みはPowerShellで作って、文字コードの変換もPowerShellでやって、テキストに書き出すとかしてから、Perlで処理するかなぁ?

Verify your Comment
Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

コメントを投稿

プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku

    運営サイト
    www.mukairiku.net

ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

Blog powered by TypePad

スポンサーリンク