No.255 | 投稿日時: | 2005/02/17(木) 22:35 <↑親記事:No.253> |
投稿者: | 森山 将之 |
> コマンド:iconv -f SJIS -t EUC-jp (SJISファイル) > (EUCファイル)
> 現象:SJISファイルをEUCファイルに変換した時に
> 「不正な入力シーケンスがありました」のエラー
> となり以降の文字が変換されません。
> 異常となっている文字で今わかっていのはローマ数字です。
# iconv -l | grep EUCJP
を実行して、EUCJP-MS が出てくるようであれば、次のようにオプション指定する事でJIS X 0208 の13区にNECが定義したNEC特殊文字(ローマ数字など)を変換できるようになります。
# iconv -f CP932 -t EUCJP-MS
EUCJP-MS が無い場合は、次のパッチを libiconv に当ててメイクして、libiconv 版の iconv コマンドを使って CP932, EUCJP-MS を使うようにしてください。
http://www2d.biglobe.ne.jp/%7Emsyk/software/libiconv-patch.html
EUCJP-MS の注意点としては、WindowsのEUC-JPと互換性があるのは、JIS X 0208 の1区から84区までで、はしご高などはコード値が違うので文字化けしますのでご注意ください。
実質、Windows のEUC-JPと互換性のある機種依存文字は、JIS X 0208 13区のNEC特殊文字だけとなります。
NEC特殊文字については、次のページをご覧ください。
http://www2d.biglobe.ne.jp/%7Emsyk/charcode/cp932/Windows-31J-charset.html