中文开发者几乎都遇到过乱码,而大部分乱码都能追溯到编码问题。
常见原因
- 编码不匹配:文件用GBK保存,却被当作UTF-8读取,中文就会变成“锟斤拷”之类的乱码
- 换行符差异:Windows用回车加换行(CRLF),Linux与macOS只用换行(LF),混用会出现多余空行或^M符号
- 声明与内容不符:网页声明charset为UTF-8,实际内容却是其他编码
排查思路
先确认文件的保存编码,再确认读取方声明的编码,让两边保持一致;网页统一使用UTF-8,编辑器默认编码也设为UTF-8,能避免绝大多数乱码问题。
编码问题只要理清思路,往往几分钟就能解决。