文字コード掲示板


一括購読


No.253投稿日時:2005/02/17(木) 14:59    <親記事>
投稿者:Linux初心者 茨城人

コマンド:iconv変換で文字化け

はじめまして
Linuxを最近使いはじめてプログラム作成をしています。
下記コマンドをC言語を使用して、文字を変換するさい、
特定文字列だけ文字化けしてしまい悩んでいます。

コマンド:iconv -f SJIS -t EUC-jp (SJISファイル) > (EUCファイル)
現象:SJISファイルをEUCファイルに変換した時に
   「不正な入力シーケンスがありました」のエラー
   となり以降の文字が変換されません。
   異常となっている文字で今わかっていのはローマ数字です。
大変申し訳ないのですが、ご教示お願いいたします。


No.255投稿日時:2005/02/17(木) 22:35    <↑親記事:No.253>
投稿者:森山 将之

CP932 & EUCJP-MS

> コマンド: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


No.256投稿日時:2005/02/18(金) 09:29    <↑親記事:No.255>
投稿者:Linux初心者 茨城人

ありがとうございました。

ありがとうございました。早速試してみます。
ご教授ありがとうございました。


No.257投稿日時:2005/02/18(金) 10:10    <↑親記事:No.255>
投稿者:Linux初心者 茨城人

パッチについて教えてください。

パッチの内容を見たのですが、
下記パッチのみあてればよろしいですか?
libiconv-1.9.2-cp932-patch.gz libiconv-1.9.2 cp932修正, eucJP-ms追加 パッチ

他のパッチもあてたほうがよろしいですか?
理解してない部分もありまして、
何度も申し訳ございません。


No.260投稿日時:2005/02/18(金) 12:30    <↑親記事:No.257>
投稿者:森山 将之

libiconv パッチについて

> libiconv-1.9.2-cp932-patch.gz libiconv-1.9.2 cp932修正, eucJP-ms追加 パッチ

シフトJISとEUC-JPのエンコーディング変換だけであれば、このパッチで大丈夫です。
ただし、EUCJP-MS に変換したテキストファイルを秀丸エディタや EmEditor などで開くと、IBM拡張文字が文字化けしてしまう事になるので注意が必要です。


No.270投稿日時:2005/02/21(月) 12:06    <↑親記事:No.260>
投稿者:Linux初心者 茨城人

リモートシェルでの起動

先日はありがとうございました。大変お世話になっております。
「iconv -f CP932 -t EUCJP-MS」をLinuxマシンで直接実行すれば
変換できるようになったのですが、
AIXマシンからリモートシェルにより実行すると変換結果が0件に
なってしまいます。
なにをリンクすれば正常な結果がえられるのでしょうか?
ご教示いただければありがたいです。宜しくお願いします。


No.271投稿日時:2005/02/21(月) 21:04    <↑親記事:No.270>
投稿者:森山 将之

Re: リモートシェルでの起動

> AIXマシンからリモートシェルにより実行すると変換結果が0件に
> なってしまいます。

これだけだと、具体的な何を実行しているのか不明なので、直接的にどうすれば良いという事は言えません。

一般論としては、リモートで実行されるプログラムの環境変数設定は、~/.bash_profile などは参照されないので、プログラム内で環境変数の設定をしたり、実行するコマンドを絶対パスで指定するなどの必要があります。


No.272投稿日時:2005/02/22(火) 09:52    <↑親記事:No.271>
投稿者:Linux初心者 茨城人

ありがとうございます

リモートシェルでの起動の件は、リモートで起動されるシェルにPATHを
設定したら文字変換が正常にできるようになりました。
色々とご教示いただき大変ありがとうございました。
またご教示していただく事があるかと思いますのでその時は
宜しくお願いします。



No.253投稿日時:2005/02/17(木) 14:59    <親記事>
投稿者:Linux初心者 茨城人

コマンド:iconv変換で文字化け

はじめまして
Linuxを最近使いはじめてプログラム作成をしています。
下記コマンドをC言語を使用して、文字を変換するさい、
特定文字列だけ文字化けしてしまい悩んでいます。

コマンド:iconv -f SJIS -t EUC-jp (SJISファイル) > (EUCファイル)
現象:SJISファイルをEUCファイルに変換した時に
   「不正な入力シーケンスがありました」のエラー
   となり以降の文字が変換されません。
   異常となっている文字で今わかっていのはローマ数字です。
大変申し訳ないのですが、ご教示お願いいたします。


No.255投稿日時:2005/02/17(木) 22:35    <↑親記事:No.253>
投稿者:森山 将之

CP932 & EUCJP-MS

> コマンド: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


No.256投稿日時:2005/02/18(金) 09:29    <↑親記事:No.255>
投稿者:Linux初心者 茨城人

ありがとうございました。

ありがとうございました。早速試してみます。
ご教授ありがとうございました。


No.257投稿日時:2005/02/18(金) 10:10    <↑親記事:No.255>
投稿者:Linux初心者 茨城人

パッチについて教えてください。

パッチの内容を見たのですが、
下記パッチのみあてればよろしいですか?
libiconv-1.9.2-cp932-patch.gz libiconv-1.9.2 cp932修正, eucJP-ms追加 パッチ

他のパッチもあてたほうがよろしいですか?
理解してない部分もありまして、
何度も申し訳ございません。


No.260投稿日時:2005/02/18(金) 12:30    <↑親記事:No.257>
投稿者:森山 将之

libiconv パッチについて

> libiconv-1.9.2-cp932-patch.gz libiconv-1.9.2 cp932修正, eucJP-ms追加 パッチ

シフトJISとEUC-JPのエンコーディング変換だけであれば、このパッチで大丈夫です。
ただし、EUCJP-MS に変換したテキストファイルを秀丸エディタや EmEditor などで開くと、IBM拡張文字が文字化けしてしまう事になるので注意が必要です。


No.270投稿日時:2005/02/21(月) 12:06    <↑親記事:No.260>
投稿者:Linux初心者 茨城人

リモートシェルでの起動

先日はありがとうございました。大変お世話になっております。
「iconv -f CP932 -t EUCJP-MS」をLinuxマシンで直接実行すれば
変換できるようになったのですが、
AIXマシンからリモートシェルにより実行すると変換結果が0件に
なってしまいます。
なにをリンクすれば正常な結果がえられるのでしょうか?
ご教示いただければありがたいです。宜しくお願いします。


No.271投稿日時:2005/02/21(月) 21:04    <↑親記事:No.270>
投稿者:森山 将之

Re: リモートシェルでの起動

> AIXマシンからリモートシェルにより実行すると変換結果が0件に
> なってしまいます。

これだけだと、具体的な何を実行しているのか不明なので、直接的にどうすれば良いという事は言えません。

一般論としては、リモートで実行されるプログラムの環境変数設定は、~/.bash_profile などは参照されないので、プログラム内で環境変数の設定をしたり、実行するコマンドを絶対パスで指定するなどの必要があります。


No.272投稿日時:2005/02/22(火) 09:52    <↑親記事:No.271>
投稿者:Linux初心者 茨城人

ありがとうございます

リモートシェルでの起動の件は、リモートで起動されるシェルにPATHを
設定したら文字変換が正常にできるようになりました。
色々とご教示いただき大変ありがとうございました。
またご教示していただく事があるかと思いますのでその時は
宜しくお願いします。


Script : Sylpheed 1.24
Modified by MORIYAMA Masayuki