cmd.exe で subversion を使用してリビジョンをコミットしようとしています。cmd.exe のコードページは utf-8 (で設定chcp 65001
) です。
c:\path\to\work\dir> svn ci
-m
フラグでメッセージを指定しておらず、変数がgvimSVN_EDITOR
に設定されているため、gvim が開き、メッセージを入力できます。ファイルをutf-8 ( ) として保存し、エディターを終了します。:set filencoding=utf8
さて、svn クライアント (?) は私に次のように伝えます: Auf ... .folgte ein nicht-ASCII Byte 195, das nicht von/nach UTF-8 konvertiert werden konnte
(私は英語で次のように信じています:非 ASCII 文字 (コード %d) が検出され、UTF-8 との間で変換できません)。
保存したメッセージ ファイルが UTF-8 形式であることは確かなので、これは奇妙です。
私もlatin-1に保存しようとしましたが、同じ効果がありました。
編集
メッセージでテストを行いましたü
。ファイルの 16 進数の内容は次のとおりです。
0000000: c3bc 0d0a 2d2d 2044 6965 7365 2075 6e64 ....-- Diese und
0000010: 2064 6965 2066 6f6c 6765 6e64 656e 205a die folgenden Z
0000020: 6569 6c65 6e20 7765 7264 656e 2069 676e eilen werden ign
0000030: 6f72 6965 7274 202d 2d0d 0a0d 0a41 2020 oriert --....A
0000040: 2020 780d 0a x..
最初の for 文字 (ü
その後に\x0d\x0a
) に注意してください。ü
は、目的の. _ c3 bc
_ _ü
また、エラー メッセージ (この新しいケースでは: ) は 195 (ファイルの最初のバイトである のEin Nicht-ASCII Zeichen (Kode 195) wurde gefunden, das nicht von/nach UTF-8 konvertiert werden konnte
10 進数) について不平を言っていることに注意してください。c3
もちろん、エラー メッセージは正しいです。それは ASCII 文字ではありませんが、これが utf-8 ファイルを使用するすべてのポイントではないでしょうか?
編集 2
メッセージを UTF-8 形式でコミットしようとしたのは、これが最も自然なことだと信じていたからです。明らかに、少なくとも cmd.exe の SVN はそうは考えていません。ü
およびその他のドイツ語の特殊文字をコミットできる限り、メッセージをコミットする必要がある形式はあまり気にしませんでした。