[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: subversionのメッセージが文字化けする



>>>>> In [meadow-users-jp : No.6879] 
>>>>> “堀口” = Kyotaro HORIGUCHI wrote:
堀口> > > pty が sjis を通していないの?

堀口>  これはないです. さすがに^^; それに "使用方法を知りたいときには"と
堀口> SJIS で書かれたテキストファイルを cat しただけでは再現しないようで
堀口> す.

堀口> | ?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149

堀口> って, 

堀口> e4 bd bf  e7 94 a8  e6 96 b9   e6 b3 95
堀口> 使        用        方         法

堀口> というわけで utf-8 で出力されているようですね. UTF-8の"使用方法を
堀口> "を cat したら別の形ですが文字化けしてます.


堀口>  なんで utf-8 でメッセージが出ているんでしょう? 正しく表示される環
堀口> 境でも utf-8 になっているんでしょうか.

堀口>  *shell* バッファで utf-8 文字列が出たらこうなるのは正しい動作?

Meadow を起動後
(setq explicit-shell-file-name "bash")
を eval して M-x shell RET で動作させる

shell-buffer を kill-buffer して
(setq explicit-shell-file-name "f_bash")
を eval して M-x shell RET で動作させる

で違うんですよ。


>>>>> In [meadow-users-jp : No.6880] 
>>>>> “M.Fujii” = M.Fujii wrote:
> このように化けるのは Meadow や fakecygpty.exe の問題ではないと思います。
> Subversion 内部で文字コード変換が正常にできていないのだと思われます。

> このように化けるのは以下のどちらかが考えられます。

>   1. win32 バイナリ svn ではなく、cygwin の svn を呼び出している。
>   2. 環境変数 APR_ICONV_PATH が適切に設定されていない。

> # 2. が原因であることは非常に考えにくいですが。

> ということで、以下を確認してみるとどうでしょう?

>   - 本当に Win32 バイナリの Subversion を呼び出しているかどうか。
>     (パスの設定はどうなっているか?とかをチェック)
>   - 環境変数 APR_ICONV_PATH の値が適切かどうか。


(setq explicit-shell-file-name "bash")
の場合

kose> svn
使用方法を知りたいときは 'svn help' と打ってください。
kose> type svn
svn is hashed (/c/Program Files/Subversion/bin/svn)
kose> echo $APR_ICONV_PATH
C:\Program Files\Subversion\iconv
kose> echo $LANG
ja_JP.SJIS
kose> echo $LC_MESSAGES

kose> 


(setq explicit-shell-file-name "f_bash")
の場合

kose> svn
?\228?\189?\191?\231?\148?\168?\230?\150?\185?\230?\179?\149?\227?\130?\146?\231?\159?\165?\227?\130?\138?\227?\129?\159?\227?\129?\132?\227?\129?\168?\227?\129?\141?\227?\129?\175 'svn help' ?\227?\129?\168?\230?\137?\147?\227?\129?\163?\227?\129?\166?\227?\129?\143?\227?\129?\160?\227?\129?\149?\227?\129?\132?\227?\128?\130
kose> echo $APR_ICONV_PATH
C:\Program Files\Subversion\iconv
kose> echo $LANG
ja_JP.SJIS
kose> echo $LC_MESSAGES

kose> 

 
両者とも
(add-hook 'shell-mode-hook 
  (lambda () (set-buffer-process-coding-system 'japanese-shift-jis-dos
					       'japanese-shift-jis-unix)))
としているので

Coding systems for process I/O:
  encoding input to the process: S -- japanese-shift-jis-unix

  decoding output from the process: S -- japanese-shift-jis-dos

です。

あと何が違うんだろ。
-- 
こせき // kose (a) Meadow y.org