git-bash(Windows 7)でユニコードを機能させるのに問題があります。私は成功せずに多くのことを試みました。ただし、何が原因なのかよくわからないので、間違った方向に進んでいる可能性があります。
cmd.exe のエンコーディングは 'chcp 65001' で unicode に変更できるため、これは可能なはずです。
ここに私が試したいくつかのことがあります(GUIの構成オプションを調べるという明らかな以外に)。
「.bashrc」に環境変数を設定します。これはLinuxのものだと思うので、これが機能しないのは理にかなっていると思います。「ロケール」コマンドは存在しません。
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8
cmd.exe で開始し、「chcp 65001」でエンコーディングを unicode に変更してから、git-bash を起動します。これにより、ユニコード テスト ファイルを cat しようとすると、アクセス許可が拒否されます。ただし、ユニコードなしでファイルを cat しても問題なく動作します。示されているように、cmd.exe にドロップアウトしても、ファイルを "cat" できます。私のデフォルトのエンコーディング(437)を使用して、bashでファイルをcatできます(許可は拒否されませんが、出力は偽造されます)。
S:\>chcp 65001 Active code page: 65001 S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i zarac@TOWELIE /z cat /s/unicode.txt cat: write error: Permission denied zarac@TOWELIE /z cat /s/nounicode.txt abc zarac@TOWELIE /z L /s/unicode.txt -rw-r--r-- 1 zarac Administ 7 May 18 10:30 /s/unicode.txt zarac@TOWELIE /z whoami towelie\zarac zarac@TOWELIE /z exit Z:\>type S:\unicode.txt abc£
シェルを起動するときに /U フラグを使用する (if-i-understand-correctly の目的ではないため、機能しないことは理にかなっていますが、Unicode と関係があるため、試してみました)。
C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
私は Console2 を使用することを好むので、[HKEY_CURRENT_USER\Console] と [HKEY_CURRENT_USER\Console\Git Bash] の下の Windows レジストリに、値が 65001 (10 進数) の CodePage という名前の dword 値を追加してみました。これは、「chcp 65001」を設定して「自動」であることを受け入れるのと同じ効果があるようです。(http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)
JPSoftのTCC/LE
PowerCMD
スタックオーバーフロー
ダックダックゴ
ixquick/グーグル
そのため、そのアクセス許可の問題を修正できる場合は、方法 2 が実行可能と思われます。ただし、Console2 を使用できるかどうかは好みますが、ほとんどすべてのソリューションに対してオープンです (主に気の利いたタブ機能のため)。おそらく 1 つの解決策は、SSH サーバーをセットアップしてから、Putty/Kitty を使用してそれに接続することですが、それは間違いです! ; )
PS。git-bash の公式ドキュメントはありますか?