解决python中文编码错误问题

对于初学者而言,编码问题或许还没有没重视起来,但是编码问题是中文开发者必须面对的。今天来看下python开发中如何解决编码问题。注意:本篇讲的是最常见的一种编码问题,其他编码问题,如json函数引起的编码问题,其他函数的编码问题,以后会陆续为大家讲解。

编写程序的过程中会碰到中文字符串,但由于Python默认采用ASCII编码方式,所以对中文不支持。要解决此问题,必须设置当前编码方式为Unicode方式。

注意:不仅仅是程序中出现中文字符,而且注释中出现中文也会导致编码问题!

出现错误提示:UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe9 in position 0: ordinal not in range(128)

解决方案:

首先在文件头加入如下代码(声明):


1

2

#! /usr/bin/env python

#-*- coding: utf-8 -*-

或者


1

2

#! /usr/bin/env python

# coding=utf-8

这样在程序正文或者注释中出现中文就不会报错啦

时间: 2024-08-11 07:48:44

解决python中文编码错误问题的相关文章

解决python安装错误问题

遇到的问题描述: An error occurred during the installation of assemblyA Microsoft.VC90. CRT, version=9-0.30729 1, publickey Token="1fc8b3b9ale18e3b,processorarchitecture="amd64",type="win32Please refer to Help and Support for more informatioz

paip.日志中文编码原理问题本质解决python

默认的python日志编码仅仅gbk...保存utf8字符错误..输出到个eric5的控制台十默认好像十unicode的,要是有没显示出来的字符,大概十字体问题..调整eric5的字体走ok兰. #调用封装 from log import * iniLog (r"c:\enPn2atiEnPh.log") logx("xxx") #主要的代码 设置文件编码为utf8 handler = logging.FileHandler(logfile, "a&quo

【初学python】错误SSLError: [Errno 1] _ssl.c:504:的解决记录

最近在实习公司学习使用python做web自动化测试,其中使用到httplib这个模板,主要用于与待测试界面建立HTTP连接,发送数据请求,接收请求状态码和查询数据,验证功能.但是新版本的web界面改成使用https协议,原来的测试用例都变成无法跑通的状态. 将协议从HTTP改成HTTPS后,报以下错误: SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown proto

python编码错误的解决办法 SyntaxError: Non-ASCII character '\xe5' in file

[提出问题]. 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* ---------------------------------------------------------------------------------------------------------- [分析问题]. -----------------------------------

Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe5' in file

[现象] 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* [原因] python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符. [解决办法] 在Python源文件的最开始一行,加入一句: # coding=UTF-8(等号换为”:“也可以) 或者 # -*- coding:UTF-8 -*- 转自[http://blog.cs

Atitit php java python nodejs错误日志功能的比较

Atitit php  java  python  nodejs错误日志功能的比较 1.1. Php方案 自带 1 1.2. Java解决方案 SLF4J 1 1.3. Python解决方案 自带loggin 2 1.4. Node.js日志解决方案 log4js 2 1.4.1. 玩转Nodejs日志管理log4js - CNode技术社区 2 日志的俩中模式   文件日志与os event 日志.. Os日志的优点是格式整齐.以及有默认os工具gui故居查询等.. 1.1. Php方案 自带

【原创】python中文编码问题:控制窗口能输出中文,到文本文件里乱码

遇到一个问题:控制窗口能正常输出中文,>到文本文件里却是乱码.最后解决了,总结一下Python中文编码的坑. 开始感觉非常奇怪,想第一行为什么是正常的?之后注意到文本文件为ANSI编码,第一行在代码里面是字符串的形式输出来的,而且代码的文本格式也为ANSI. 后面不正常的数据是在列表用utf-8编码输出来的.开始想把第一行用utf-8输出来,把代码改为s.decode('gbk').encode('utf-8') ,发现结果还是不行.因为直接输入的字符串是按照代码文件的编码来处理的. 之后把列表

Python中文编码问题(字符串前面加'u')

中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢? 我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各种编码,比如作为中国程序经常要面对的gbk,gb2312,utf8等,那这些编码是怎么转换成内部的unicode呢? 首先我们先看一下源代码文件中使用字符串的情况.源代码文件作为文本文件就必然是以某种编码形式存储代码的,python默认会认为源代码文件是asci编码,比如说代码中有一个变量赋值: s

[Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题

最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下笔记.方便以后查阅和大家学习.        中文编码问题的处理核心都是——保证所有的编码方式一致即可,包括编译器.数据库.浏览器编码方式等,而Python通常的处理流程是将unicode作为中间转换码进行过渡.先将待处理字符串用unicode函数以正确的编码转换为Unicode码,在程序中统一用U