以前一直遇到svn在命令行下显示的问题,我总是直接下载zip包,直接解压使用svn,因为控制台默认代码页为cp936,显示总是为乱码,使用时为省事,总是先
chcp 437
再切换回来
chcp 936
这样就可以看到正常的英文了。当然,这也是解决办法的一种,但中文OS下这么优秀的一个用apr-iconv的工具无法显示中文太可惜了。
今天看了apr_iconv的相关库的说明,原来,svn使用了libapriconv.dll来实现本地化的,apr_iconv是使用环境变量
APR_ICONV_PATH
来获取iconv目录,从而得到相关的.so文件。在中文环境下,因为没找到正确的iconv目录,所以无法得到正确的cp936.so,所以显示成了乱码。
相关代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)