svn: 目录中的条目从本地编码转换到 UTF8 失败 解决办法
在linux 执行SVN命令 svn update 时出现乱码,而且伴随着错误,如下
svn: 目录XXXX 中的条目从本地编码转换到 UTF8 失败
svn: 不能把字符串从本地编码转换为“UTF-8”编码:
或者是英文的:
update Error converting entry in directory to UTF-8
造成这样的错误是你的linux系统用的是 utf8 的编码 而 你上传的 文件中 有gbk GB2312 的编码 就会出现这样的错误,
解决方法一、
要解决这个问题,你不必去改系统的LANG,修改自己的环境变量LANG即可。
具体方法是修改~/.i18n,使其内容如下:
export LANG="zh_CN.GB2312"
然后,将 svn 出错的那个目录删除,并注销用户,重新登录,再用 svn 更新。
当然,最最简洁的方法是直接输入命令:
export LANG="zh_CN.GB2312"
PS: 这种解决方法就是把原本utf8 的编码改成 gb2312 但是这种要是传 utf8的 就会出问题
我用着个办法 改成gb2312 后 又 改回 utf8 的 然后再想改成gb2312 的 就改不回去了, svn up 的时候一直就是出 上边得错误提示 , 没办法 又找了其他的方法。
解决办法二、
编辑/etc/sysconfig/i18n这个文件,
不管你装的是中文版,还是英文版.删掉原来的设置,把下面的拷贝过去
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
保存,重起.OK了
这时候,linux控制台下就可以显示中文了,
在RHEL5中对应的文件是/usr/lib/locale/zh_CN.gb18030
/etc/sysconfig/i18n 这里存放的是系统的区域语言设置
第一行 表明你当前系统的语言环境变量设置 ,这里是 zh_CN.GB18030
第二行 表明系统预置了那些语言支持 ,不在项目中的语言不能正常显示
第三行 定义控制台终端字体,你文本登录的时候显示的字体就是这个 latarcyrheb-sun16
注:
I18N 是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”.
I18N支持多种语言,不过同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
原来的:
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"