- ベストアンサー
EUC_JPにない文字のshiftJISからの変換処理
http://okwave.jp/qa757480.html ここにある質問と同じ状況になっています。 shiftJISの文字列をEUC_JPに変換したところ、 invalid byte sequence for encoding "EUC_JP" というエラーが出ました。 EUCにない文字なので変換が出来ないのはわかるのですが、ではその場合どのような処理が妥当でしょうか。 テキストデータから文字を取り込んでいるので最初から文字をEUC_JPやUTF-8で文字列を作ることができません。 EUCにない文字はどうやっても変換できないので代替文字もしくは記号を置くことで解決しようかと思ったのですが、そうするとどの文字がshiftJISにあってEUCにないかの一覧がないとどうしようもないかと思います。 この場合はどうするのが良いかアドバイスいただけませんでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そのメッセージはPerlが出しているものですか? また、エンコーディングの変換はどのように行っていますか? 参考に挙げられている質問を見ると、jcode.plともJcode.pmとも つかない(前者っぽいですが)のですが、これらは invalid byte sequence for encoding のようなエラーメッセージは出すように見えません。 Googleでエラーメッセージを手がかりに検索してみるとPostgreSQLが 絡んでいるようですけど。 とりあえず、Encode.pm で変換すれば、変換先エンコーディングで 表現できないものをどうするかをある程度制御することができます。 くわしくは perldoc Encode で調べてみてください。