python出现UnicodeEncodeError有可能产生的另一个原因

在使用python中,我们都有可能遇到如下的错误:

UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-2: ordinal not in range(128)

一般的解决方法都是在文件开头处加多如下语句就可以了:

import sys  
reload(sys)  
sys.setdefaultencoding(‘utf8‘)

但是,我加了也提示这个错误,感觉很奇怪,本地跑得好好的,把它搬到线上Linux环境跑就提示这个错误。

后来查了下线上机器的语言设置,发现为:

[[email protected] ~]# echo $LANG

C

后来把环境语言设置成:export LANG=‘en_US.UTF-8‘ 或 export LANG="zh_CN.UTF-8" 此问题就解决了

当然如果你要用到中文,把这个也安装上:yum -y groupinstall chinese-support

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

时间: 2024-09-29 00:04:06

python出现UnicodeEncodeError有可能产生的另一个原因的相关文章

Python Solve UnicodeEncodeError 'gbk' / 'ascii' / 'utf8' codec can't encode character '\x??' in position ? 解决有关Python编码的错误

在Python中,处理中文字符一直是很令人头痛的问题,一言不合就乱码,而且引起乱码的原因也不尽相同,有时候是python本身默认的编码器设置的不对,有时候是使用的IDE的解码器不对,还有的时候是终端terminal的解码器不对,有时候同一份代码在Python2上正常运行,Python3上就不行了,反正产生乱码的原因很多,这里就列举一些博主遇到过的一些错误及其解决方案: Error 1: UnicodeEncodeError: 'gbk' codec can't encode character

Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

一.使用workbook.get_sheet_by_name(name) 获取excel一个工作表时,发生字符集解析的错误. 网上搜集解决方案为添加以下三句: import sys reload(sys) sys.setdefaultencoding("utf8") Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

【Python】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3

问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 1 reload(sys) 2 sys.setdefaultencoding( "utf-8" ) 另外:当字符串里有 \n.\t.\r时,json.loads()失效,异常,要去掉 [Python]UnicodeEncodeError: 'ascii' codec can't encode c

【python】UnicodeEncodeError: 'ascii' codec can't encode/decode characters

解决方案在文件头插入 # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') [python]UnicodeEncodeError: 'ascii' codec can't encode/decode characters

python 中UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)的解决方法

SyntaxError: Non-ASCII character '\xe6' in file出现这个问题是因为中文出现在了代码中,解决方法为在代码最上面添加:#coding:utf-8 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128) 这个问题则是在程序中写入中文时出错,解决方法为在开头添加: import sys reload(sys) sy

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本。

scapy编写简单的ARP扫描脚本 本课程基于 Python 的 scapy 模块编写,适合有 Python 基础的同学学习,最终完成一个简单的 ARP 扫描脚本.

《Python CookBook2》 第一章 文本 - 每次处理一个字符 && 字符和字符值之间的转换

文本 - 总结: 什么是文本Python 中的string 类型是不可变类型.文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来. 基本的文本操作①解析数据并将数据放入程序内部的结构中:②将数据以某种方式转化为另一种相似的形式,数据本身发生了改变:③生成全新的数据 每次处理一个字符: 任务用每次处理一个字符的方式处理字符串. 解决方案可以创建一个列表,列表的子项是字符串的字符.代码如下: >>> thelist = list('thestring') >>>

Python把同一个对象循环赋值给另外一个变量

Python把同一个对象循环赋值给另外一个变量,修改一个对象,其他对象也修改了 >>> row=['_'] * 3 >>> board = [] >>> for i in range(3): ... board.append(row) ... >>> row ['_', '_', '_'] >>> board [['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']] &g

记录一个python里面很神奇的操作,对一个包含列表的元组进行增量赋值,成功赋值但还报错

记录一个python里面很神奇的操作 今天记录一个很神奇的操作.关于序列的增量赋值.如果你很熟悉增量赋值,你也不妨看下去,我想说的是有关于增量赋值和元组之间一种神奇的操作.来自 <流畅的Python> 一书,让我们更加深入地了解里面的原理 神奇的操作 >>>t = (1,2,[30,40]) >>>t[2] += [50,60] 上面这段代码会出现什么样的情况 a. t会变成(1,2,[30,40,50,60]) b. 因为tuple不支持对它的元素赋值,所