2008-11-21
全角ハイフンを含む文字列の文字コードを UTF-8 に変換すると文字化けする
Unicode には似た記号が多い
おそらく原因は、Unicode に記号が多いため、全角ハイフンなのか全角のマイナス記号なのか区別がついていないからではないかと思われる。
解決方法
- 文字コードを変換する前に、文字化けする文字を安全な文字に置換してしまう。最終的な出力を行う時に文字コードを変換する。
- 文字コードを変換する前に、文字列をバイナリ化して文字化けする文字を安全な文字に変換してしまう。
例: unpack と pack を利用するなど
最初の解決方法が一番簡単だと思われるが、正規表現でマッチさせる作業が入ると煩雑になる。
トラックバック - http://d.hatena.ne.jp/littlebuddha/20081121/1227241729
リンク元
- 12 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=WLl&lr=lang_ja&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=init:+Session+Cache+is+not+configured+[hint:+SSLSessionCache]&spell=1
- 7 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja-JP-mac:official&hs=Sil&pwst=1&q=utf-8 とは&start=10&sa=N
- 4 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=SSLSessionCache&num=50
- 3 http://www.google.co.jp/search?hl=ja&rlz=1T4DAJP_jaJP272JP272&q=jquery+タブ+文字化け&btnG=検索&lr=
- 3 http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla:ja-JP:unofficial&hs=CAn&q=CSV+SQL+変換 ruby&btnG=検索&lr=
- 2 http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla:ja:official&hs=Uro&q=gsub スペース+ruby&btnG=検索&lr=lang_ja
- 2 http://www.google.co.jp/search?hl=ja&lr=&client=firefox-a&channel=s&rls=org.mozilla:ja:official&hs=dV5&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=cpan+urllist&spell=1
- 2 http://www.google.co.jp/search?hl=ja&q=SSLSessionCache+&lr=&aq=f&oq=
- 2 http://www.google.co.jp/search?hl=ja&q=does+not+map+to+euc-jp+&lr=&aq=f&oq=
- 2 http://www.google.co.jp/search?q=ruby+require+パス&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a

