背景
下载了一份源码,当我在linux平台用nvim查看时,英文部分正常,但中文乱码。
由于作者是在windows平台编写的,处于历史原因,windows向后兼容了GBK系列的编码。
而几乎所有linux的/etc/locale.conf文件都使用utf-8。
解决
方法一:修改.nvimrc配置文件,加入以下内容:
set fileencodings=utf8,cp936,gb18030,big5
此方法属于修改文本编辑器,虽然nvim查看显示正常,但属于自欺欺人。编译运行起来还是会乱码。
方法二:将文件编码直接修改成utf-8
进入想要改变的文件的路径
cd path-GB18030-file/
找到当前路径下的所有文件,并将全部文件编码方式修改为UTF-8
find . -type f -print -exec iconv -f GB18030 -t utf-8 {} -o {} \;
1.如果只需要当前目录下的指定拓展名文件,则添加 -iname "*.cpp” 即可
2.如果不想覆盖当前文件,则在第二个花括号后添加希望保存的拓展名。如{}.utf-8,最后文件会是xxx.cpp.utf-8,并且保留原来的xxx.cpp文件。