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)的更多相关文章

  1. 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) 解决方 ...

  2. 【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 使 ...

  3. '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 ...

  4. 【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 ...

  5. 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'系统 ...

  6. pythonUnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128

    今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和uni ...

  7. HTMLTestRunner解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)

    其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误. ...

  8. [错误处理]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 ...

  9. 解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128

    今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是python的str默认是ascii编码,和uni ...

随机推荐

  1. Wamp 下运行 CGI 笔记

    虽然假期的余额不足了,但是仔细想想放假又有多少事情可以做呢?休息的差不多了,还是上班的好,长时间的休息人就废了.同意的举手,不同意的就算了. httpd.conf 的配置 我这里使用的是 Wamp 的 ...

  2. 使用Vue-cli3搭建Vue+TypeScript项目

    一,创建项目 使用 npm 安装 vue-cli 3 和typescript npm i -g @vue/cli typescript 使用vue create命令快速搭建新项目的脚手架 vue cr ...

  3. 明解C语言 入门篇 第十一章答案

    练习11-1 /* 用指针实现的字符串的改写 */ #include <stdio.h> int main(void) { "; printf("p = \" ...

  4. Springboot概述

    目录 什么是springboot Springboot的优点 SpringBoot的缺点 一:什么是springboot Springboot是Spring开源组织下的子项目,是Spring组件一站式 ...

  5. 如何安装redis

    主要方式有四种:1.使用 Docker 安装.2.通过 Github 源码编译.3.直接安装 apt-get install(Ubuntu).yum install(RedHat) 或者 brew i ...

  6. Java对象依次取出属性,并去掉特殊字符

    工作里从数据库往前台调数据的时候,庞大的数据量里难免有些字段里包含空格或者一些特殊字符,在前台显示出来会非常不美观,所以在此记录一个去对象内所有属性特殊字符的方法: //获得该对象属性的集合 Fiel ...

  7. sudo: ulimit: command not found

    在这看到的:http://stackoverflow.com/questions/17483723/command-not-found-when-using-sudo-ulimit 修改系统文件打开数 ...

  8. duba网址对firefox快捷方式的劫持

    直接删除 “驱动精灵” 即可. 等我 二进制安全 学好了,一定开发一种病毒专干这种劫持的,煞笔软件.

  9. Java开发设计——七大原则

    Java开发设计——七大原则 摘要:本文主要介绍了在做面向对象开发时要注意的七个原则. 部分内容来自以下博客: https://www.cnblogs.com/xiyuekamisama/p/1057 ...

  10. centos7安装mysql5.7(rpm安装版)

    1.下载mysql5.7的rpm安装包 rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!! 下载地址:https://dev.mysql.com/downl ...