crocodile's blog

a python lover

subversion的svn命令行显示乱码的解决

在中文windows下安装svn的1.4版本,下载了win32的那个zip版本,直接解开安装,并把bin目录添加到path上,在cmd shell上执行svn发现程序的提示信息全是加了斜杠了的数字,一看就知道是经过编码的中文。

svn使用了libapriconv.dll来实现本地化的,apr_iconv是使用环境变量
APR_ICONV_PATH
来获取iconv目录,从而得到相关的.so文件。在中文环境下,因为没找到正确的iconv目录,所以无法得到正确的cp936.so,所以显示成了乱码。

相关代码如下:
        /* Fall back on APR_ICONV_PATH if APR_ICONVn_PATH isn't set...
         * TODO: Drop support for "APR_ICONV_PATH" in apr-iconv 2.0
         */
        if ((!apr_env_get(&ptr, APR_ICONV_PATH, subpool)
             || (!apr_env_get(&ptr, "APR_ICONV_PATH", subpool)))
            && !apr_filepath_list_split(&pathelts, ptr, subpool))
        {

可以看到,apr-iconv 2.0以后会不这么使用了

所以,最官方的解决办法就是设置正确的APR_ICONV_PATH环境变量。比如:
set APR_ICONV_PATH=e:\svn\iconv
set LANG=zh_CN.UTF8

其实如果习惯英文,只要加上环境变量LANG=en_US,就可以正确显示英文提示信息了.

C语言结构体中的数据对齐(转)cmd中设置path

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies