今天遇到一个编码问题,一个txt文件总是显示乱码,于是采用网上说的,file命令file xx.txt,显示的是:xx.txt: ISO-8859 text, with CRLF line terminators。于是我以为编码格式就是ISO-8859,但是用iconv转码,却发现不存在ISO-8859只有ISO-8859-1等等。受一篇文章启发:编码陷阱,发现file命令显示的结果有误,应该用浏览器查看编码(有可能是GB2312格式)。
---------------------------2018年7月更新-----------------------------
可以使用如下命令解决这个问题:
iconv -f GB2312 -t UTF-8 file1 -o file2
有两次,在服务端文件里明明是正常的中文,但是解析到浏览器里就变成了乱码。这个时候也需要考虑是服务端文件的保存格式可能不是UTF-8,导致乱码产生。
----------------------------2019年4月更新-----------------------------
最近帮人处理数据,遇到“UTF-8-SIG”编码格式的,在Python里可以使用“utf-8-sig”进行解码读取。