TortoiseSVN中文乱码的问题困扰了我好久,特别是每次使用“以标准差异文件显示修改”时,打开的文件都会出现中文乱码的问题,网上相关资料貌似也比较少,在尝试了一些方法解决问题后,写下本文做个总结,以后在遇到这个问题就比较好处理了。
SVN中文乱码如下图所示:
解决TortoiseSVN中文乱码具体步骤
这里先说下我最后的解决方法,主要是添加或设置一个环境变量,首先右键我的电脑-》属性-》高级系统设置-》高级-》环境变量:
打开环境变量设置框,点击系统变量下的新建,我们添加一个变量名为LANG,变量值为en_US.UTF-8的系统变量:
设置好后点击确定,在环境变量设置框那一定要点击确定保存修改,否则没有效果。最后在SVN客户端重新使用以标准差异文件显示修改或其他操作检查是否还会出现乱码,一般是成功的!!!
PS:根据个人情况不同,这里也可以选择将LANG变量添加到用户变量的位置,依然是有效果的,只不过仅限于当前登陆的计算机用户,如果计算机有其他用户账号使用SVN,照旧会出现中文乱码的问题,所以最好设置系统变量,通用设置。
注意:设置此环境变量可能会影响到系统上的其他软件!!!有的软件界面是中文的,一旦设置了LANG变量,界面则变成英文的,需要额外重新设置软件的语言。鱼和熊掌不可兼得,只能根据情况进行选择,其实在SVN中我们完全可用“以基础版本比较”来代替“以标准差异文件显示修改”的功能。
SVN中文乱码问题分析和总结
产生问题的服务器和本机配置环境:
- 服务器 Windows Server 2003 Enterprise Edition Service Pack2
- 本机 32位 Windows 7系统
刚开始遇到这个问题,我首先怀疑的是本地代码的编码问题,猜想是否由于代码本身是GBK编码导致的冲突,查看了下发现代码本身就是UTF-8编码,因此排除掉代码编码原因。
后发现TortoiseSVN也并不是所有的地方都出现中文乱码,仅在部分功能有出现,在排除掉客户端SVN的配置问题后,开始怀疑与服务器端Subversion所在的系统环境有关,不过由于是服务器,所以不能胡搞瞎搞,只能暂时作罢。
这里分享下一些相关资料的网站和博客:
- Win7x64下TortoiseSVN中patch后出现中文乱码的解决(给出了最直接的解决方案)
- TortoiseSVN 以标准差异文件显示修改 中文乱码怎么解决?(遇到的问题和我一模一样)
- subversion也需要设置“set LANG=en_US”(给我相当的提示,主要是对于SVN的环境变量问题)
总结:最后我是暂时通过设置环境变量解决乱码的问题了,主要是对SVN的使用还不太熟悉,以后如果熟悉的话在深入进行研究这个问题。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/98726.html