[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bjlug-ml] Re: 文字化け対策



On Tue, Jun 12, 2001 at 08:24:03AM -0400, Daigo Fujiwara wrote:
> MacがISO-2022-JP, WindowsはShift_JIS, LinuxはEUC-JP
> だと、すーっかり思い込んでいたのですが...

本当は全てEUCにして欲しい。

> このcharsetのエンコーディングをかえることはできないのでしょうか?
> テクストエディタ上でできるのでしょうか?それとも何か特別なソフトがいるのでしょうか?
> 希望としては、すべてShift_JISにしたいとおもうのですが。

Linux上だったら、

"nkf"か"kcc"、unicodeも使いたいのであれば"lv"。標準は"nkf"でしょう。
例えば、EUCで書かれたfile.aをシフトJISに変換しようと思ったら、

$ nkf -Es file.a > file.b

      または、

$ cat file.a | nkf -Es > file.b

入力の指定:S(hift jis), J(is), E(uc)
出力の指定:s(hift jis), j(is), e(uc)

でもよほどのことがなければ入力は自動判別。

$ nkf -s file.a > file.b

> ご指南おねがいいたします。
> 
> あと普通のhtmlの文章は大丈夫なのに、phpでincludeした文章が文字化けしたり、
> perl-CGIで出された文字だと化けてしまうと言うのは借りものサーバーの設定が
> 悪いのでしょうか?なにしろ日本語環境には疎いもので知ってらっしゃるかたが
> いらしたら、おしえていただきたいとおもいました。

0x00-0x7fの128文字がいわゆるアスキーコード。EUCだったら、2バイト文字
の上位バイトも下位バイトにもこれとは重ならない0x80-0xffを利用するため、
まったくASCIIコードと抵触することがないというメリットがあります。
Shift_JISもJIS(ISO-2022-JP)もASCIIコードと重なるコードを使うので、ソフ
トウェアできちんと対応しないといけない。だから本当は対応が簡単なのは
EUCなんですけど、どっかの文書に、JIS < S_JIS < EUC の順に文字化けが多
くなると読んだことがあります。でも、デフォルトの設定をEUCにしておけば
テキスト処理の多くのプログラムが日本語を通します。というかASCIIの128文
字に入っていないコードをそのまま流してくれます。だから、上にも挙がって
るphpとかserver-side includeとかperlなどのプロセッサーのデフォルトの文
字コードも重要です。日本語対応でないものを使っている場合には、EUC以外
不可能です。

うぅん、疲れてる。まとまらず。またのちほど。

-- 
原 隆一郎
Ryuichiro Hara
rhara@mediaone.net, rhara@mit.edu