Namazu-users-ja(旧)


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

Re: EUCでフォーム部分の文字化けについて



佐々木です。

アドバイスありがとうございます。

Tietew <tietew-ml-namazu-users-ja@xxxxxxxxxx> wrote:

> > 参考ヒット数: { [ 縺: 0 ] [ 薙: 0 ] [ s: 16 ] [ 縺: 0 ] [ ・: 0 ] [ ■: 27 ] [ 縺: 0 ] [ 移 0 ] :: 0 } 
>  :
> > 繝・せ繝域兜遞槭A・・
> 
> これ,UTF-8 を Shift_JIS で見たときの壊れ方に見えます。
> 本当に,本当に文字コード大丈夫ですか?
> 
> 1から順に確認してみて下さい。
>
> > 先のメールのlocale環境のrootユーザで、viで編集しましたので
> > この点は問題ないと思っています。
> 
> 素の vi はマルチバイトを扱えないはずです。vi クローンのどれかで
> しょうけど,実際は何ですか?
> 本当に EUC-JP ですか?
> 
> > (実際にはTera Termでtelnetで作業しており、この際の[設定]-[端末]
> >   の漢字[受信]、漢字[送信]は共にEUC、改行コードは送信、受信ともに
> >  CRという設定で接続しています。)
> 
> 私は vim 使ってますけど,vim で UTF-8 文書を編集すると vim が 
> EUC-JP に変換して端末に出してくれるので端末が EUC-JP モードでも
> 表示されます。端末の漢字コードは全くアテになりません。

使用しているviは次の通りです。
# which vi
alias vi='vim'
        /usr/bin/vim
# ls -l /usr/bin/vim
-rwxr-xr-x    1 root     root      1875052 12月 24  2002 /usr/bin/vim
# vim --version
VIM - Vi IMproved 6.1 (2002 Mar 24, compiled Dec 23 2002 17:01:37)
(以下、略)

本当にEUCか(UTF-8文書でないか)ですが先のメールに書きましたよう
にkcc -cではEUCと判定されます。また、nkfで、着目しているファイル
をEUCコードでUNIX形式の改行で出力するオプションで変換し、元のフ
ァイルと差異がないことを確認しました。

# nkf -eLu NMZ.head.ja > xxx
# diff NMZ.head.ja xxx
#

また、NMZ.head.ja のフォーム付近の日本語を含む文字列の"検索式:"
だけを入力したkensakusikiという名前のファイルを作成し、

# hexdump kensakusiki
0000000 a1b8 f7ba b0bc 0a3a
0000008
# hexdump NMZ.head.ja | grep a1b8
0000490 7274 6e6f 3e67 a1b8 f7ba b0bc 3c3a 732f
#

などの結果から日本語は一文字2byteのEUCコードで保存されていると
考えて間違いないと思っています。
誤りなどありましたらご指摘お願い致します。

また、検索実行でフォーム部分が壊れる時に、文字コードがUTF-8にな
っていないか確認すべきファイルについて、何か他にご存知でしたら
ご教授いただけると助かります。

なお、再掲になりますが、cgiのページをIEで表示した際は検索の前後
ともに自動的に日本語(EUC)と判定される状態になっています。

-- 
SASAKI Yoshiaki <NQC38290@xxxxxxxxx>