字符集设置错误,导致svn 无法工作

在windows 平台用TSVN 增加带有中文字符的文件。
后来在AIX 5.3 上执行svn up 提示以下错误:
svn up
svn: Can't copy '.svn/text-base/.txt.svn-base' to '.svn/tmp/.txt.tmp.tmp': Error 0
执行svn ci 提示以下错误:
bash-3.1$ svn ci
svn: Commit failed (details follow):
svn: Directory '/home/CFG/mawp/svn_work/ob20_dev/' is missing

后检查发现LC_ALL 为C,LANG 为zh_CN
后将字符集设置成:
LANG=zh_CN
LC_COLLATE="zh_CN"
LC_CTYPE="zh_CN"
LC_MONETARY="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MESSAGES="zh_CN"
LC_ALL=zh_CN

问题消失。

在字符集设置错误的其他主机上,做svn up  的时候,也会提示:
Non-ASCII character (code 228) detected, and unable to convert to/from UTF-8

后将LANG修改成zh_CN.UTF8 或zh.UTF8 问题解决。
具体修改成那个,请通过locale -a 来查询本机安装的语言包来解决。

 

今天发现在HP的主机上,将字符集设置成zh_CN.UTF8 是无法解决问题的,修改成zh_CN.gb18030问题解决。
仔细想一下,发现问题都处在windows编辑过的文件。这是因为windows xp默认是gb18030编码。所以解决问题不能机械。
需要考虑字符集的包含关系。SunOS 的机器上设置zh_CN.EUC 问题解决

你可能感兴趣的:(工作,windows,SVN,UP,AIX,character)