欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

git bash font not found, using system substitute : lucida console

打开 git bash 

  1. 改变区域为UTF-8编码。点击标题栏的左边是图标,选择“选项”,在“文本”类别中选择“UTF-8字符集。你也应该选择一个Unicode字体,如默认的“Lucida Console”。我的配置看起来如下:MinGW locale configuration


3) 点 select...  进行 修改字体吧





我有一些麻烦的Unicode为Git Bash工作(Windows 7)。我已经试过很多东西,但没有成功。虽然,我不是很确定什么是负责这个我可能在错误的方向上工作。

真的是这样应该可以为C M D .exe编码可改为Unicode的标准65001。

这是我试过的一些东西(除了在GUI中的配置选项明显)。

  1. 设置环境变量“.bashrc”。我想这有道理这不工作,因为我认为这是一个Linux的事情。“区域设置”命令不存在。

    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
  2. 开始在C M D .exe,改变“chcp 65001 Unicode然后启动Git Bash的编码。这使我得到一个权限被拒绝在猫我的Unicode测试文件。然而,切割文件没有Unicode的作品就好了。研究表明,降回到C M D .exe我仍能“猫”的文件。我使用默认的编码(437)我可以猫在bash的文件(没有权限被拒绝但输出是捏造的)。

    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£
  3. 使用/ U标志启动shell时(使得它不工作,因为它不完全是它的if-i-understand-correctly,但它与Unicode所以我试过)。

    C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
  4. 我喜欢用console2,我尝试添加一个DWORD值,命名为CodePage和值65001(十进制)到Windows注册表hkey_current_user \控制台下[ ]以及[ hkey_current_user \控制台\ Git Bash ]。这似乎有相同的效果,设置“chcp 65001接受它的“自动”。(http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode...

  5. 你的jpsoft TCC

  6. powercmd

  7. 栈溢出

  8. DuckDuckGo

  9. 谷歌ixquick /

所以,方法2是可行的如果权限问题可以是固定的。然而,我打开几乎任何解决方案,虽然我更喜欢如果我能用console2(主要是因为它的漂亮的标签功能)。也许是一个解决办法是建立一个SSH服务器,然后用腻子/小猫与它连接,但这是错误的!;)

PS.是在Git Bash的任何官方文件?

分享改善这个问题
 
 
正确处理了msysGit 1.7.10 Unicode。看到本页for官方文件查尔斯B·12年5月18日在11
 
I'm open to pretty much any solution:清除邪恶,安装Linux,???,利润!!!对不起:Pkurzedmetal12年5月18日11:53
  
怎样使用Cygwin和rxvt?kurzedmetal12年5月18日在11:54
  
你的答案和你的编辑CharlesB谢谢!汉斯12年5月18日在12:04
 
这个问题chcp 65001是在C运行时有错误(MSVCRT),在调用返回的结果不一致时,65001下运行的代码页。这就是为什么65001不可用,选择从“区域和语言选项下拉ANSI代码页。对于编译和其他运行时你可以摆脱它的应用程序,但许多本地的Windows应用程序会崩溃和烧伤。bobince12年5月21日18时06分

我遇到过同样的问题在MSYS Git 2.8.0,原来只是需要改变配置。

$ git --version

git version 2.8.0.windows.1

在我的系统中的Git Bash控制台的默认配置文件名没有显示希腊。

$cd ~

$ls

AppData/
'Application Data'@
Contacts/
Cookies@
Desktop/
Documents/
Downloads/
Favorites/
Links/
'Local Settings'@
NTUSER.DAT
.
.
.
''$'\316\244\316\261'' '$'\316\255\316\263\316\263\317\201\316\261\317\206\316\254'' '$'\316\274\316\277\317\205'@

最后一行显示“Ταέγγραφάμου”、“我的文档的希腊翻译”。为了修复它,我跟着下面的步骤:

  1. 检查你的现有的现场配置

    $locale
    
    LANG=en
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=

    如上图所示,对我来说这不是UTF-8

  2. 改变区域为UTF-8编码。点击标题栏的左边是图标,选择“选项”,在“文本”类别中选择“UTF-8字符集。你也应该选择一个Unicode字体,如默认的“Lucida Console”。我的配置看起来如下:MinGW locale configuration

  3. 改变当前窗口的语言(不需要对Windows的未来,这样他们将步骤2的设置创建)

     $ LANG='C.UTF-8'
  4. ls命令现在可以正确显示

    AppData/
    'Application Data'@
    Contacts/
    Cookies@
    Desktop/
    Documents/
    Downloads/
    Favorites/
    Links/
    'Local Settings'@
    NTUSER.DAT
    .
    .
    .
    'Τα έγγραφά μου'@
分享提高这个答案
 
  
刚刚加入这个。所有这些设置存储在minttyrc ~ /。巴尔加斯7月19 16 15 14
  
你是唯一一个其实回答了这个问题。jww2月19日下午4:39
  
“jww高兴知道我能帮上忙nkatsar2月20日上午11:43

CharlesB在评论时表示,正确处理了msysGit 1.7.10 Unicode。仍然有一些问题,但我可以确定的是,更新并解决问题,我有。

看到:HTTPS:/ / / / / github.com msysgit msysgit维基/ git for Windows - Unicode支持

分享提高这个答案
 
 
如何使它吗?我使用Git Bash 2.11,和不使用UTF-8在Windows 8或Windows 10。我的输出往往是不正确的字符的污染,我想清楚的问题。jww2月19日下午4:31

检查如果问题仍然存在,用git 2.1(2014年8月)。
看到提交617ce96提交1c950a5Karsten Blees(kblees

Win32控制台输出:支持Unicode

WriteConsoleW似乎是可靠的打印Unicode到控制台的唯一途径(没有怪异的代码页转换)。

同时重定向vfprintfwinansi C版本

Win32:添加Unicode转换功能

Windows本地UTF-16LE编码UTF-8和背部之间的转换添加Unicode转换功能。

支持库与传统编码的文件名,UTF-8为UTF-16转换功能,试图建立有效的,即使无效UTF-8字节序列的唯一的文件名,所以,这些库可以检查无误。

这可能是一些已经集成在了msysGit港口,但至少那意味着Windows版本的Git不会有分歧/补丁主要从git repo源代码,包括那些改进。

分享提高这个答案
 
  
如何使UTF-8?我使用Git Bash 2.11,和不使用UTF-8在Windows 8或Windows 10。我的输出往往是不正确的字符的污染,我想清楚的问题。jww2月19日下午4:33

我可以看到角色的Git Bash Windows编码的一些问题。少用git本身和工具附带的工作(卷曲,猫,grep等)。我没有碰到这些多年来的字符编码相关的问题。

通常每个新版本的问题得到更好的解决。例如,从一年前的版本,我不能输入字符“ä“为壳,所以它是不可能写

echo "ä"

快速测试如果UTF-8支持的水平。一种解决方法是写字节序列的八进制:

$ echo -e "\0303\0244"
ä

还有问题我有当我执行我的Windows php.exe二进制输出文本:

$ php -r 'echo "\xC3\xA4";'
ä

这不是给“ä“在终端,但是它输出”├ñ“而不是。我有,解决方法是,我把php在bash脚本,过程的输出通过命令

#!/bin/bash

{ php.exe "$@" 2>&1 1>&3 | cat 1>&2; } 3>&1 | cat

REF。注册。输出stderr猫

这个魔法使php再次工作:

$ php -r 'echo "\xC3\xA4";'
ä

适用于

$ git --version
git version 1.9.4.msysgit.1

我必须承认我想更深的理解为什么这一切都是这样的。但我终于开心了,我找到了一个解决方法,在Git Bash和PHP支持使用UTF-8。

分享提高这个答案
 
  
另外其他的答案。我不得不用这种方法为PHP脚本现在—git version 2.8.2.windows.1furgas16年5月12日中午12时45分

来自 https://stackoverflow.com/questions/10651975/unicode-utf-8-with-git-bash


普通分类: