DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

svn检出文件名中含中文文件失败问题解决方法


有时使用svn检出时遇到这样的错误:

svn: Can't convert string from 'UTF-8' to native encoding: ...

这是可能是由于svn所在主机的当前字符集不支持Unicode造成的,确认方法是:运行"locale"指令,输出为:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=en_US

"en_US"后面没有".UTF-8",/etc/default/locale文件的内容是:

LC_ALL="en_US"

也没有".UTF-8",解决方法很简单,在后面加上".UTF-8",变为

LC_ALL="en_US.UTF-8"

这时再运行locale命令,结果如下:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

这时再检出中文文件名文件就不报错了。

在CentOS上,对应的locale文件是/etc/sysconfig/i18n。



Published

Feb 27, 2014

Last Updated

Feb 27, 2014

Category

Tech

Tags

  • svn 12
  • 中文 5

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor