• ベストアンサー

Jcode.pmでの”~-”の変換

お世話になります。 WindowsXPHomeSP2+ActivePerl5.6.1+Jcode.pm2.6の環境です。 UTF-8形式の文字列"~-"をJcode::convertを使用してShift-JIS形式に変換したところ、変換結果がいずれも"†"になってしまいました。 これらの文字を正常にJcode.pmを使用してShift-JISに変換する方法がありましたらご教授ください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

Jcode と Encode の違いはありますが、結局のところ 404 Blog Not Found:Encode - 規格のバグまでは直せません http://blog.livedoor.jp/dankogai/archives/50488765.html に書かれているようなことが原因です。 ですので、Jcode.pmにパッチを自分で当てるか、化けてしまう文字を (ShiftJISで対応している)正しい文字に置換してからUTF-8→ShiftJIS変換する といった手段をとらなければなりません。 Jcode.pmにこだわらなければ、Unicode::Japanese というモジュールで問題なく 変換することが可能です。 山科 氷魚 (YAMASHINA Hio) / Unicode-Japanese - search.cpan.org http://search.cpan.org/dist/Unicode-Japanese/

misshiki
質問者

お礼

ご回答ありがとうございました。 結局規格そのものに問題があるんですね。 とりあえず今回はサイトそのものをUTF-8にしてしまうとかで対処しようかと考えています。 その後時間をかけてCGI側での対応を考えていきたいと思います。

すると、全ての回答が全文表示されます。