BLOGTIMES
2008/01/21

SJISとCP932の違いにはまる

  ruby  charset 
このエントリーをはてなブックマークに追加

SJISとCP932は似て非なる文字コードなので、~とか-をUTF-8からSJISに変換しようとすると問題が起きます。

たとえばですが、以下のコードを書くとプログラムが例外を吐いて落ちてしまいます。

Iconv.new('sjis', 'utf-8').iconv('~')

が、下記のコードだとちゃんと変換することができます。

Iconv.new('cp932', 'utf-8').iconv('~')

とりあえず、Windowsで書いたUTF-8文書をSJISに戻す場合にはShift_JISではなくCP932を使うと覚えておけばいいんだと思います。このあたりはruby-langでも話題に上ったことがあったようですね。忘れないようにメモしておきます。この辺りの問題はとにかくめんどくさいのであまり関わりあいになりたくないです。
[ruby-list:43057] Re: Iconvのこと


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2383
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン