首页 » 其它linux技术

svn: 目录中的条目从本地编码转换到 UTF8 失败 解决办法

   发表于:其它linux技术评论 ()   热度:1698

在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"

(。・v・。)
喜欢这篇文章吗?欢迎分享到你的微博、QQ群,并关注我们的微博,谢谢支持。