在用Anaconda的Spyder读取包含中文的文件时,会出现中文乱码现象,也会报错如下:
报错:
'utf8' codec can't decode byte 0xbb in position 2: invalid start byte
报错的意思大概是,无法解码,在位置0处有非法的开始字节。
了解后发现,在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。
解决方案:
打开sublime,新建文件,选择File->save with encoding->UTF-8, 就可以了。