| No.156 | 投稿日時: | 2004/04/02(金) 13:17 <親記事> |
| 投稿者: | lucky |
始めまして。
iconvパッチの
libiconv-1.8-cp932-patch.diff.gz
libiconv-1.8-cp932-family.diff.gz
には、たいへんお世話になっております。
今回、iconvのWINDOWS-31J->eucJP-ms変換にて「・」文字のところで変換エラー
となってしまう現象にあいました。
調べてみると
「・」の文字コードが0x8869となっていて、未定義領域の文字であることが判明
しました。
もちろん、「・」で文字コードが0x8145の場合は問題なく変換が行われます。
このような未定義領域の文字の変換時にエラーを
回避するよい方法はありませんでしょうか?
アドバイスお願い致します。
| No.157 | 投稿日時: | 2004/04/05(月) 23:23 <↑親記事:No.156> |
| 投稿者: | 森山 将之 |
libiconv の cp932 パッチをご利用いただきありがとうございます。
libiconv での iconv() の実装は、エンコーディングとして有効なバイトシーケンスであっても、不正なバイトシーケンのエラーとして処理してしまうので、ちょっと使いづらかったりしますね。
iconvコマンドには、-c オプションがあり、変換出来ないコードを飛ばして変換するようになるので、試してみてはどうでしょうか。根本的な解決策ではありませんが…
| No.158 | 投稿日時: | 2004/04/08(木) 09:49 <↑親記事:No.157> |
| 投稿者: | lucky |
森山様
返事が遅れてしまい申し訳ありませんでした。
iconvにはこのようなオプションがあったのですね。
たいへん勉強になりました。
とりあえずは、この方法を参考に回避しようと思います。
有益な情報ありがとうございました。