qfl666 发表于 2021-12-18 15:20:18

'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)

python2.7,在代码最前面加了:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

代码运行后出现错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)

请问如何解决?

傻眼貓咪 发表于 2021-12-18 15:31:57

2.7 版本?为什么不用 3xx 版本?

"你的字符串".encode('utf-8')

hrpzcf 发表于 2021-12-18 16:06:00

你的源代码文件第一行加#-*- coding:utf-8 -*- 试试,当然,你的源代码也要用utf8编码保存

jackz007 发表于 2021-12-18 16:47:23

本帖最后由 jackz007 于 2021-12-18 17:32 编辑

       你附加这些代码的目的是什么?
       只有你的代码中有汉字字符出现,那么,你才有必要在代码开头对汉字所采用的编码进行声明,以便 Python 在读取源代码的时候,可以对汉字正确进行解码。
       如果是在 Windows 系统
#coding:gbk
       如果是 Linux 系统
#coding:utf-8
       当然,如果你写代码使用的是 Python IDE 那么,IDE 就会把汉字编码的问题消化掉。
      
页: [1]
查看完整版本: 'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)