问题的出现
开发小伙伴把之前运行在windows server上的项目迁移到ubuntu上之后出现了中文乱码的问题,分析其原因是代码中创建文件未指定编码,所以就自动匹配了操作系统的编码,也就是从GBK2312到UTF-8了,所以原来windows服务器上的编码到了ubuntu上自然就乱码了
解决问题
知道了问题的原因,现在需要做两个动作:
1.代码中指定具体编码
2.将GBK2312编码的文件转为UTF-8编码
第一个问题就不详述了
第二个问题使用 convmv 命令即可解决,具体用法:./convmv -f GB2312 -t UTF-8 -r --notest *
其中*表示当前路径下所有目录、文件,-f GB2312 -t UTF-8表示将GB2312编码的文件转为UTF-8编码