最近用visual studio 2015与java开发对接接口,java默认发送字符集是utf8的,在windows的命令行格式下看起来超级痛苦。苦苦挣扎了几周,终于有几个解决方案,记录下来,让其他同事也能及时解决问题。
1.引入iconv的库。这个库的资料有很多。由于这个库最开始是在unix下编译的,所以在visual studio下面编译很费劲,我尝试了几种方法,包括用他自带的方式也没有成功编译。在这里我给一个链接,是国外有一些热心高手直接做好的sln文件放git上,直接载入编译即可。
下载链接:
https://codeload.github.com/winlibs/libiconv/zip/libiconv-1.16-1
2.修改windows的命令行的显示模式。
打开cmd或者powerShell 输入“chcp 65001”即可。
觉得麻烦的同学可以修改注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下面点右键增加一个“字符串值”,命名为“autorun”, 点击右击修改,数值数据填写“chcp 65001”,确定。
以上两种方式,都可以解决命令行下面的乱码的困扰。