python3在linux下的编码错误

$ python3 aaa.py
‘ascii‘ codec can‘t encode characters in position 162-165: ordinal not in range(128)

aaa.py 文件已经设置

#!/usr/bin/env python3
# coding = ‘utf-8‘

但执行总是报错

‘ascii‘ codec can‘t encode characters in position 162-165: ordinal not in range(128)

经过网上查询此种错误基本都是2.7环境中的问题,通过以下办法解决。
  1. # encoding=utf8
  2. import sys
  3. reload(sys)
  4. sys.setdefaultencoding(‘utf8‘)

但我在python3环境下为什么一直错误呢?

通过修改代码中的编解码中文等操作均无效,折腾半天考虑 有没有是linux语言环境变量的问题

检查当前shell环境

$ echo $SHELL

csh

检查语言环境变量

$ env |grep LANG
LANG=zh

将语言环境变量修改为

setenv LANG en_US.UTF-8

问题解决

时间: 2024-12-05 23:02:55

python3在linux下的编码错误的相关文章

关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

char *ptr; //此后省略部分代码 if( (int)ptr==-1 ) //出错地方 那句话的意思是从 void* 到 int 的转换丢失精度,相信看到解释有些人就明白了, 此问题只会出现在X64位的Linux上,因为在64位的机器上指针占用8个字节,int 占用四个字节,所以才会出现这样的问题, 解决方法: (long)ptr == -1 就好了 关于Linux下C编译错误(警告)cast from 'void*' to 'int' loses precision

Linux 下的段错误(Segmentation fault)调试方法

我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的.实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除.但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句. 下面将就以下的一个存在段错误的程序介绍几种调试方法: 1 dummy_function (void) 2 { 3 unsig

常见的Linux下的段错误 及解决办法

一.段错误 所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息.一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segment

linux下文件编码的查看与转换(转)

通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8,所以Linux下打开windows的文件会有乱码的情况.另外,有时要将文件进行编码转换,如将简体中文转换为繁体中文. 基于以上情况,本文将就在linux下查看和转换文件的编码进行说明. 1.查看文件的编码 1)在Vim中可以直接查看文件编码 :set fileencoding    即可显示文件编码格式. http://www.poluoluo.com/server/201011/98282.htm

Python3.6 Linux下配置 QQBot 教程

qqbot 是一个用 python 实现的.基于腾讯 SmartQQ 协议的 QQ 机器人,可运行在 Linux, Windows 和 Mac OSX 平台下. 使用 pip3(我这边是pip3,这个根据你自己的环境来选择)安装 QQBot 扩展 1 pip3 install qqbot 安装成功后,启动 QQBot 服务 如果启动 QQBot 遇到 No module named '_sqlite3' 错误,需要手动安装 sqlite-devel 模块 1 yum install sqlite

linux下文件编码的查看与修改

在Linux中查看文件编码可以通过vim编辑器来查看,在vim命令模式下输入如下命令即可: :set fileencoding //在vim中查看文件编码 如果你只是想查看其它编码格式的文件或者想解决用vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 //在~/.vimrc配置文件中加入 这样就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文

解决Linux下MySQL启动错误Starting MySQL.Manager of pid-file quit without updating file.[FAILED]

刚装完MySQL,启动时报如下错误: Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 依次尝试了从谷歌找到的各种方法,发现只要执行如下MySQL初始化命令即可解决: /usr/local/mysql/bin/mysql_install_db --user=mysql 下面附上从谷歌找到的解决此问题的方法集锦,也许每个人遇到的问题的原因会不一样,经供参考: 一.查看报错日志 报错日志是我们解决问题的方向灯

linux下将编译错误输出到一个文本文件

command > filename 把把标准输出重定向到一个新文件中 command > > filename 把把标准输出重定向到一个文件中(追加) command 1 > fielname 把把标准输出重定向到一个文件中 command > filename 2> &1 把把标准输出和标准错误一起重定向到一个文件中 command 2 > filename 把把标准错误重定向到一个文件中 command 2 > > filename 把把

python3.4.1下base64编码问题

import base64 encodestr = base64.b64encode('abc'.encode(encoding='utf-8'))print(encodestr)