python 3.4 无法读取中文, 无法使用utf-8

mfcappwizard 2016-08-01 02:33:06
已经在文件开头使用了
#-*-coding: utf-8 -*-
#encoding=utf-8

但是还会报错
UnicodeEncodeError: 'ascii' codec can't encode characters

说明utf-8没有使用成功,怎么解决?
...全文
911 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mfcappwizard 2016-08-02
  • 打赏
  • 举报
回复
引用 6 楼 CDSoftwareWj 的回复:
py3 是直接用,都统一到 unicode上了,感觉不是你声明的问题,而是你代码里转码的问题 不过就算是声明,好像你的也有点问题 我一般都用 # coding: utf-8 玩python你必须弄明白这3件事: 1. 你用的IDE或是编辑器,是用什么编码保存py源程序文件的???因为源程序保存格式必须要和声明相一致!! 如果这个你都没弄明白,就不要说你转码有问题,光声明而用其它编码格式保存源码是不可能对的 2. 在转码时你要清楚,你的源变量是什么编码,要转到什么编码??! 如果这点你都不知道,那你怎么能肯定你 程序逻辑处理的正确? 比如说,你变量是GBK要转到UTF-8,正确的路径是 GBK->Unicode->UTF-8,也就是变量先解码成unicode,再 编码到UTF-8 这里说的是py2的例子,py3没有这么麻烦都统一了,不过在最终你业务使用时,你必须还是要转 到和业务需求一样的编码中去!! 3. 你是用GBK使用原编码了,但是你是否知道那些py的字符处理函数会在处理完后把你的编码给改成unicode了? 这些你都知道么??
谢谢你的回复,是编辑器环境配置的原因, 从 sublime 2 -> sublime3就没有问题了
mfcappwizard 2016-08-02
  • 打赏
  • 举报
回复
引用 楼主 mfcappwizard 的回复:
已经在文件开头使用了 #-*-coding: utf-8 -*- #encoding=utf-8 但是还会报错 UnicodeEncodeError: 'ascii' codec can't encode characters 说明utf-8没有使用成功,怎么解决?
是sublime 编辑器环境的原因, 从sumlime 2 换到3就好了
CDSoftwareWj 2016-08-02
  • 打赏
  • 举报
回复
py3 是直接用,都统一到 unicode上了,感觉不是你声明的问题,而是你代码里转码的问题 不过就算是声明,好像你的也有点问题 我一般都用 # coding: utf-8 玩python你必须弄明白这3件事: 1. 你用的IDE或是编辑器,是用什么编码保存py源程序文件的???因为源程序保存格式必须要和声明相一致!! 如果这个你都没弄明白,就不要说你转码有问题,光声明而用其它编码格式保存源码是不可能对的 2. 在转码时你要清楚,你的源变量是什么编码,要转到什么编码??! 如果这点你都不知道,那你怎么能肯定你 程序逻辑处理的正确? 比如说,你变量是GBK要转到UTF-8,正确的路径是 GBK->Unicode->UTF-8,也就是变量先解码成unicode,再 编码到UTF-8 这里说的是py2的例子,py3没有这么麻烦都统一了,不过在最终你业务使用时,你必须还是要转 到和业务需求一样的编码中去!! 3. 你是用GBK使用原编码了,但是你是否知道那些py的字符处理函数会在处理完后把你的编码给改成unicode了? 这些你都知道么??
阿凯99 2016-08-02
  • 打赏
  • 举报
回复
python3直接用就行了,它本身就默认支持utf8,根本不要什么声明。
mfcappwizard 2016-08-01
  • 打赏
  • 举报
回复
引用 1 楼 ligengyong2010 的回复:
import sys reload(sys) sys.setdefaultencoding('utf8') 在文件的开头加上这三句
这应该是python2的用法,python 3已经不支持了
  • 打赏
  • 举报
回复
python3 暂时不了解,不过你应该是某种编码方式去读码
shaode01 2016-08-01
  • 打赏
  • 举报
回复
给出完整代码,字面的意思就是你理解的没有用utf8而是默认的ascii编码所以报错
关山路遥 2016-08-01
  • 打赏
  • 举报
回复
import sys reload(sys) sys.setdefaultencoding('utf8') 在文件的开头加上这三句

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧