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

[cvs-ml 766] Re: pserver経由で文字化け?



福岡@キヤノンです。

>>>>> In <79n1guk7oq.wl@localhost.localdomain> 
>>>>>	NAKAMURA Takahiro <harrier@mxa.mesh.ne.jp> wrote:
> At 26 Sep 2000 21:39:46 +0900,
> Shigeo Fukuoka <fukuoka.shigeo@canon.co.jp> wrote:
> > 
> > 以前 solaris2.6 で同様に特定コードが化ける現象に遭遇したことが
> > ありますが、最近のknjwrpパッチに付いてくる標準の wrapnkf は使っ
> > ていなかったので外している可能性は大です。
> > #現在も標準のは使ってないのでわかりません。
> > 

大きく勘違いしていたようです。コミット時のコメントなどは
wrapnkf などのスクリプトで変換しているわけではなかったですよね。

同様に文字化けを経験しましたが、クライアントが Meadow + pcl-cvs
な環境のみだったので Meadow側で EUC にするようにして対処してし
まいました。
#全然本質的な対処法ではありませんです。

> えっと、これってsubr.c内の
>    while(dp > dst && isspace((unsigned char)dp[-1]))
> 	-dp;
>    *dp = '\0';
> のisspace()で期待した判定にならない場合がある件でしょうか?

多分関係していると思います。が、、、上記のような消極的な対処で
満足してしまったので調べてないです。

> #とりあえずローカルではisspace()を(dp[-1]==' ' || dp[-1] == '\t')
> #に変えていますが…。どうするのが正しいんだろう。
> もしかすると今回の件も原因自体はこれと似たようなものかもしれませんね。

おまけです。
元メールにあった文字化けするという文字列「oda、編集(CRLF)」を
sjis.txtとして保存して tr コマンドの動作をチェックしてみました。

> unsetenv LANG
> od -x sjis.txt
0000000 6f64 6181 4195 d28f 570d 0a00
0000013
> tr -d '\015' < sjis.txt > sjis_lf.txt
> od -x sjis_lf.txt
0000000 6f64 6181 4195 d28f 570a
0000012
> setenv LANG japanese
> tr -d '\015' < sjis.txt > sjis_lf.txt
> od -x sjis_lf.txt
0000000 6f64 6181 c195 d28f d78d 0a00
0000013

日本語ロケールでデータ列が変になるのでこの辺りをヒントに誰か調
べてみて下さい。
#今週は忙しくて私は無理です。^^;;;
-- 
// 福岡 茂雄@キヤノン株式会社
// E-mail: fukuoka.shigeo@canon.co.jp