在git中出现中文乱码的解决方案
2016-12-02 21:46
197 查看
综述 : 偶然遇到了这个问题,在网上找了一些答案,没有全部试过,但是这一条命令 git config –global core.quotepath false (备注:红色的Git 应该小写为 git ,这是csdn上用来标注知识点类别的强调) 成功解决了我的问题,下面是转载内容,原文内容太多,只摘取一部分作为参考。原文出处为: http://zengrong.net/post/1249.htm
解决方案:在bash提示符下输入:
core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。
在MsysGit中,使用git log显示提交的中文log乱码。
解决方案:
设置git gui的界面编码
设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致!
使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决Msys bash中git log 乱码。
使得 git log 可以正常显示中文(配合i18n.logoutputencoding = gbk),在 /etc/profile 中添加:
在MsysGit自带的bash中,使用ls命令查看中文文件名乱码。cygwin没有这个问题。
解决方案:
使用
为了方便使用,可以编辑 /etc/git-completion.bash ,新增一行 alias ls=”ls –show-control-chars”
终极的解决方案是通过修改git和TortoiseGit源码实现,有网友这么做了:让Windows下Git和TortoiseGit支持中文文件名/UTF-8 ,也可以直接访问这个开源的Google项目:utf8-git-on-windows 。
如果不抗拒命令行的话,直接用Cygwin来提交Git库。因为Cygwin其实是一个在Windows平台上的模拟器,它完全模拟GNU/Linux的方式运行,所以Cygwin中的Git是采用UTF-8编码来保存中文的。
- http://www.cnblogs.com/silentjesse/p/4079263.html
- http://www.cnblogs.com/diyingyun/archive/2012/11/20/2778889.html
解决方案
在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如 274\232\350\256\256\346\200\273\347\273\223.png 的乱码。解决方案:在bash提示符下输入:
git config --global core.quotepath false
core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。
在MsysGit中,使用git log显示提交的中文log乱码。
解决方案:
设置git gui的界面编码
git config --global gui.encoding utf-8
设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致!
git config --global i18n.commitencoding utf-8
使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决Msys bash中git log 乱码。
git config --global i18n.logoutputencoding gbk
使得 git log 可以正常显示中文(配合i18n.logoutputencoding = gbk),在 /etc/profile 中添加:
export LESSCHARSET=utf-8
在MsysGit自带的bash中,使用ls命令查看中文文件名乱码。cygwin没有这个问题。
解决方案:
使用
ls --show-control-chars命令来强制使用控制台字符编码显示文件名,即可查看中文文件名。
为了方便使用,可以编辑 /etc/git-completion.bash ,新增一行 alias ls=”ls –show-control-chars”
终极的解决方案是通过修改git和TortoiseGit源码实现,有网友这么做了:让Windows下Git和TortoiseGit支持中文文件名/UTF-8 ,也可以直接访问这个开源的Google项目:utf8-git-on-windows 。
如果不抗拒命令行的话,直接用Cygwin来提交Git库。因为Cygwin其实是一个在Windows平台上的模拟器,它完全模拟GNU/Linux的方式运行,所以Cygwin中的Git是采用UTF-8编码来保存中文的。
参考
另外,还找到了一些相关的文章:- http://www.cnblogs.com/silentjesse/p/4079263.html
- http://www.cnblogs.com/diyingyun/archive/2012/11/20/2778889.html
相关文章推荐
- ASP.NET服务器控件提交中文时出现乱码--解决方案
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- mysql中文出现乱码问题的彻底解决方案
- JQuery AJAX提交中文出现乱码的解决方案
- url路径传中文显示乱码以及出现乱码解决方案
- 关于JSP页面getparameter中文出现乱码解决方案
- 解决地址栏传中文出现乱码 tomcat配置文件解决方案
- JQuery AJAX提交中文出现乱码的解决方案
- ASP.NET中url传递中文的解决方案,传递参数为汉字时出现乱码等问题
- 用StreamReader读取中文出现乱码的解决方案
- domino连接mysql插入中文内容出现乱码的解决方案
- Struts之post提交表单出现中文乱码问题的解决方案
- 在SQL Server 2005(2008)中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- 用StreamReader读取中文出现乱码的解决方案
- PHP返回mysql数据库中文字符出现乱码问题之解决方案
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- C# 从剪贴板中读取HTML中的中文字符出现乱码问题的解决方案
- Firefox and Chrome 浏览器打开 JavaScript 中的 alert 出现中文乱码解决方案 Ubuntu环境
- JSP页面出现中文乱码的两种解决方案
- 文件下载及文件名为中文的时候各个浏览器出现乱码的解决方案