用 python3.0 开发了一个小程序,在 mac 系统下运行好好的,拿到 win7 却出现了 UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb' in position 28: illegal multibyte sequence 的问题,修改系统默认编码也没有效果,求大神们解答
1
imn1 2017-11-08 16:04:26 +08:00
先执行命令`chcp 65001`
再运行 py 程序 |
2
gouchaoer 2017-11-08 16:18:22 +08:00
py3 虽然 unicode 了,但是这种编码灾难经常遇到很麻烦
|
3
sunnyadam 2017-11-08 16:27:05 +08:00
.decode("gbk")
|
4
likuku 2017-11-08 16:43:30 +08:00
win10 的终端默认还是 GBK,如 1 楼操作,手动切换成 UTF-8 即可。
最近我 py3 写的小工具,直接用 input() 获取输入,win 10 下装了 python3 启动器,并关联 .py ,双击 .py 直接启动,此时拖拽文件 /目录 到 py 启动的终端窗口,得到都是正确的路径信息(中文处理良好),似乎这样就是 UTF-8 的。 |
5
likuku 2017-11-08 16:44:02 +08:00
终端下直接无参数 chcp 可以显示当前终端所用的字符集
|
6
xubeiyan 2017-11-17 09:07:06 +08:00
用 powerShell 跑啊~
|
7
xubeiyan 2017-11-17 09:09:55 +08:00
抱歉,powershell 在 win8.1 上也是 gbk
|