[解決済み] Git で UTF-8 でエンコードされたパス名をコンソールウィンドウに正しく表示させるには?
質問
ファイル名をUTF-8にしているのですが、gitでは問題なく処理され、ファイルも正しく作成され、githubのページにも正しく表示されます。ただし、コンソールでは以下のように表示されます。ASCII127を超えるUTF-8でエンコードされた文字をgitがコンソールに正しく表示することは可能でしょうか?
git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .gitignore
# modified: editfile.js
# modified: "\321\203\321\201\321\202\320\260\320\275\320\276\320\262"
#
no changes added to commit (use "git add" and/or "git commit -a")
アップデイト
ロケールについて質問されたので、以下のように出力してみました。
locale
コマンドの出力です。
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
どのように解決するのですか?
git は常に 8 進数の utf8 表示を使用しており、実際の名前を表示する方法の 1 つは
printf
を bash シェルで使用することです。
によると
このコメント
を含む Windows の msysgit bash でも動作します。
printf
(を含んでいます(そして " のように使うことができます。
git のチェックアウトで 8 進数の文字を使うには?
")のように使うことができます。
しかし、それでは次のようなコマンドの出力は変わりません。
git status
または
git ls-files
.
しかし、Git 1.7.10 で unicode がサポートされるようになってから、この
wikiページ
が言及するようになりました。
デフォルトでは、git は非 ASCII ファイル名をクォートした八進数表記、つまり " で表示します。
\nnn\nnn...
"です。
で無効にすることができます。
:
git config core.quotepath off
あるいは、すべてのリポジトリで使用するために
git config --global core.quotepath off
ということを頭に入れておいてください。
デフォルトのコンソールフォントは、Unicodeに対応していません。コンソール フォントを Lucida Console や Consolas などの TrueType フォントに変更します。
セットアップ プログラムは、インストールするユーザーに対してのみ、自動的にこれを行うことができます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み] 現在のGitブランチをmasterブランチにする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーが発生しました。マージされていないファイルがあるため、プリングはできません
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
hint: 現在のブランチの先端が hint: そのリモートカウントより遅れているため、更新が拒否されました。
-
fatal: パス仕様 'readme.txt' がどのファイルにもマッチしなかった Solution
-
git push please tell me who you are or git fatal: empty ident name (for <>) not llowed.
-
[解決済み] JenkinsのGitプラグイン。特定のタグをビルドするには?
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] stash@{1}は曖昧?
-
[解決済み] 非標準のポートでリモートリポジトリを使用する