在使用python读取文件的时候,报了下面的错误:
UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xb1 in position 0: invalid start byte.
我当时的现象是cat可以正常读出中文,vim里面中文乱码的,python读文件加上了encoding=’utf8’也不好使
这种问题很是头疼
解决方法
更改文件的编码格式:
vim/vi编辑器(进入esc命令模式),执行命令,set fileencoding=utf-8,然后回车,此时我们将文件的格式改成了utf-8格式的了,使用utf-8读取,就能正确的读出文件
VIM配置
vim /etc/vim/vimrc
末尾追加
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
脚本
os.system("vim -S script.vim %s" % file_name)
# cat script.vim
set fileencoding=utf-8
wq!
就这样的就可以了
版权声明:本文为hans99812345原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。