Python3.6 SyntaxError: 'ascii' codec can't decode byte 0xe5 in position 7: ordinal not in range(128)
Django项目上线之后,死活无法正常运行(本地正常)
开始排查了好久才发现是字符编码问题
前面的小坑基本有一些,好(我)解(忘)决(了)。
不好解决的是这个报错:
SyntaxError: 'ascii' codec can't decode byte 0xe5 in position 7: ordinal not in range(128)
具体表现如下:默认编码是utf-8,但是输出中文会报错。

看到很多方法是这样:在文件开头加上,然鹅并没有用,这是这个只适用于python2
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
或者这样:(这个是文件内)
#! /usr/bin/env python
# -*- coding: utf-8 -*- s = '中文'
s.decode('utf-8').encode('gb18030')
等等
python3的默认编码方式就是utf-8,所以无需设置。
还有一些是文件读取过程中报这个错误,解决方法是,加:
'字符串'.encode('utf-8')
之后看到一个解决办法是在控制台输入:
export LC_ALL="en_US.UTF-8"
问题解决了!
python 可以正常输出了!django项目运行正常了!
然而事情并没有想象的这么简单,当我把xshell关掉之后,项目挂掉了!
(ps:这个挂掉的根本原因是没有后台运行参考:链接)
这个设置只是临时的设置。
我突然意识到似乎这是linux系统默认语言的设置方法,
用echo 输出中文,果然是乱码!
于是找到了完美的解决方法:


成功!重启服务器有效
# sudo vim /etc/profile
在末尾添上: export LC_ALL="en_US.UTF-8"
export LANG="zh_CN.GBK"
参考:https://blog.csdn.net/huoyunshen88/article/details/41113633
Python3.6 SyntaxError: 'ascii' codec can't decode byte 0xe5 in position 7: ordinal not in range(128)的更多相关文章
- SyntaxError: 'ascii' codec can't decode byte 0xe4 in position 7: ordinal not in range(128)
问题描述: SyntaxError: 'ascii' codec can't decode byte 0xe4 in position 7: ordinal not in range(128) 解决方 ...
- 【Python】【解决】UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128)
1.问题描述 今天在升级Ubuntu到14.04,使用命令行启动软件更新器,进行版本升级,结果开始升级就异常退出了,具体打印如下: $update-manager -d 正在检查新版 Ubuntu 使 ...
- 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in range(128)
python2.7 向Excel中写入数据中含有中文就一直报错 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in ...
- 【python-HTMLTestRunner】生成HTMLTestRunner报告报错ERROR 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
[python-HTMLTestRunner]生成HTMLTestRunner报告报错:ERROR 'ascii' codec can't decode byte 0xe5 in position 0 ...
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
问题分析:错误提示中的“ordinal not in range(128)”,意思是,字符不在128范围内,即说明不是普通的ASCII字符,超出处理能力了. import sys print u'系统 ...
- pythonUnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128
今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和uni ...
- HTMLTestRunner解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)
其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误. ...
- [错误处理]UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Stackoverflow 回答: 将byte类型转化:byte_string.decode('utf-8') Jinja2 is using Unicode internally which mea ...
- 解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128
今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是python的str默认是ascii编码,和uni ...
随机推荐
- CSS选择器[attribute | = value] 和 [attribute ^ = value]的区别
前言 首先你需要知道[attribute | = value] 和 [attribute ^ = value] 分别是什么? ①:[attribute | = value] ②:[attribute ...
- PHP高级进阶梳理
基础篇 1.深入理解计算机系统 2.现代操作系统 3.C程序设计语言 4.C语言数据结构和算法 5.Unix环境高级编程 6.TCP/IP网络通信详解 7.Java面向对象编程 8.Java编程思想 ...
- 奥展项目笔记07--vue绑定下拉框和checkbox总结
1.vue绑定下拉框 <div class="col-md-1 data"> <select class="form-control " v- ...
- 转 让FPGA替代GPU的6大顾虑,你确定不看看吗?
最近FPGA又频频被各AI领域的巨头看好,比如微软.百度.科大讯飞都对FPGA应用前景有所期待.那么如果让你选择FPGA作为AI计算系统的主力军,你会有什么样的顾虑? 这几天,已经退役的AlphaGo ...
- 安装win10和ubuntu双系统
2019-06-22 最近找了一份新的工作,要用到linux,由于之前基本上没有接触过这方面的东西,所以今天捣鼓一下,安装win10和linux双系统,办公研发双不误. 如果在安装的过程中遇到什么 ...
- 我是如何一步步编码完成万仓网ERP系统的(一)系统架构
https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...
- JDK1.8新特性——Stream API
JDK1.8新特性——Stream API 摘要:本文主要学习了JDK1.8的新特性中有关Stream API的使用. 部分内容来自以下博客: https://blog.csdn.net/icarus ...
- tkinter中的messagebox
from tkinter import * from tkinter import messagebox def myMsg(): messagebox.showinfo("My Messa ...
- 记一次CTF出题WP
笔者有幸参与一次CTF入门级的出题,在此记录一下WP 1.测试你得手速 1.用IDA打开程序 找到单击次数, 获取全局变量地址. 打开程序 打开OllyDbg attcach后在左下角按CTRL+N ...
- mysql用查询结果当删除的判断条件进行删除报错1093 You can't specify target table解决方法
mysql用查询结果当删除的判断条件进行删除报错1093 You can't specify target table解决方法 #分开两个sql执行正常的语句,只保留最新1000条数据,删掉1000条 ...