utf8编码的py文件的open问题
来源:互联网 发布:手机号查个人信息软件 编辑:程序博客网 时间:2024/06/06 10:42
在Linux下使用python2.7-utf8编码写的一个博客系统,切换到MS平台上,遇到最突出的不兼容问题就是编码问题:中文乱码。尤其在dos下,输出会进入繁体字世界。对于dos下中网乱码解决办法这里不赘述了,自行搜索,但是有个特殊的问题,由于网上提供的办法不适用,这里记一笔
Q:utf8编码的文件使用open打开read时,报错
UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 1270: illega
意思明了,使用指定读写编码格式
open(file_path, 'r', 'utf-8')
报错
TypeError: an integer is required [closed]
然后Stack Overflow一下,尝试
open(file_path, 'r', encoding='utf-8')
提示没有encoding参数,help(open),的确参数不对,估计上面的用法是“远古时代”的open,现已进化
A:终极解决办法使用二进制读写
html = open(file_path, 'rb')或者html = open(file_path, 'wb')
为了确保utf8,在读写时再执行一次转换
html.read().encode('utf-8')html.write(body.encode('utf-8'))
如此确保依然使用utf8编码,使得python程序在切换平台时不改变utf8编码。
说明:对于dos终端下输出乱码这样情况,由于我的系统是操作文件的,只要保证文件格式正确即可,对终端输出不是重点,因此无需切换到gbk编码。print需要的时候encode一把。
阅读全文
0 0
- utf8编码的py文件的open问题
- 关于utf8编码文件导致编译失败的问题
- 关于php文件使用utf8编码后乱码的问题。
- perl对于utf8编码文件的substr
- utf8编码文件的bom头
- 关于mysql数据库的utf8编码问题
- 编码 utf8 的不可映射字符 ANT编译java文件的问题
- 警告:编码 utf8 的不可映射字符 ANT编译java文件的问题
- utf8的编码算法
- utf8的编码算法
- utf8的编码原理
- UTF8的编码解码
- [py]py字符编码unicode utf8 ascii
- vs中cpp文件编码格式为utf8,注释有汉字,编译不通过的问题
- 将EXCEL文件转换成utf8编码的csv文件
- 编码为UTF8的文件造成cookie不能写入
- 疑问:Perl读取UTF8编码的文件,显示乱码。
- 文件编码的判定(UTF8,UTF16),及转换
- Android SharedPreferences
- 标准会话对象——StandardSession
- POJ 2402 Palindrome Numbers
- Python自定义Windows调试器(一)
- class
- utf8编码的py文件的open问题
- Unity3d使用脚本自如编辑GameObject
- 常见类---Character类
- ftp
- 第6章 Texturing
- 学生管理系统总结-1
- JavaScript 错误 – Throw、Try 和 Catch
- update命令应用实例
- 小狼毫输入法0.9-安装配置