Python中文字符输出乱码的问题

我有一个文本

 你好,中国

然后使用Python发现是乱码

f = open('file.txt')
print(f.readlines())

结果如下:

['\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\xad\xe5\x9b\xbd\n']

怎么让程序自动打印出中文结果?

0

5个回答

这个乱码的原因,无外乎,文本的编码,读取打开的编码,控制台的输出编码,不一致,造成的,建议如下:
保证文本的编码为UTF-8,然后:
1,设置控制台编码为UTF-8
2, open('file.txt',encoding='utf-8')

0

你需要你的控制台支持中文,这样,就可以直接print来打印

0

因为readlins()函数返回的是一个list,要想显示,就要指定list的角标,print里改成f.readlines()[0]应该就好了

0

用 print f.readlines()[0] 最方便

0

import urllib
然后 urllib.quote('zhongwen')

-1
ludengji
ludengji 回复AlexanderYau: quote方法里把你readlines的东西丢进去。。。
3 年多之前 回复
u012440391
AlexanderYau 具体怎么使用?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python2中print字符串含有汉字无法在终端和cmd正确显示怎么办?乱码和编码锦集
Python2正确输出含有汉字的字符串 Python2正确输出含有汉字的字符串 前言: demo1 Windows下cmd中python2正确print输出带有汉字的字符串变量 前言: 这个也是做CSDN爬虫项目中遇到的一个神奇的bug。虽然现在发现,并不是bug,而很可能是我自己的操作失误。 但是这个失误让我从昨天晚上,到现在都在烦躁当中~ 一直很好奇,为啥这种最基础的...
python 中文字符乱码的问题
1.全局声明编码的格式 import sys reload(sys) sys.setdefaultencoding('utf-8') 在func中将字符串转为unicode,再转为中文编码 如str.decode('utf-8').encode('gbk') 2.在测试过程中,遇到一个问题,即使声明了全局的编码格式,但是在读写txt文件的时候,中文的标点会输出乱码,这个时候
关于html的界面中文输出乱码问题解决~
上午好不容易解决了文件中中文乱码的情况,现在居然遇到了html界面乱码的情况!!!异常生气愤怒乃至变形!于是乎,下面的情形很无奈: 然后我就又去notepad++中打开,发现已经是UTF-8的格式了,而且我的run中的run configurations中也是UTF-8,不信你看: 实在没办法,我就只好转成UTF-8 BOM编码格式试一下,发现这回行了。。。见下图: 实在是无...
python re 处理中文字符的问题
python re 模块的使用,遇到中文字符的时候,需要把模式字符串和源字符串都解码!!! 使用python 的re模块~半天了还是出现错误 要处理文本:吉林省政府国有资产监督管理委员会党委委员、副主任王艺新接受组织调查 regex_str = r'\S*[市区弄号楼路道]' city_p
中文字符乱码问题简单解决 python
使用python2处理中文文本的时候,由于编码的问题,会出现乱码。 原因就是,python内部使用unicode进行字符的处理,但我们输入进去的字符编码可能是各式各样的。 因此需提前对输入文本进行decode操作。但是decode需要指定解码的类型比如,gbk,gb2312等,需要对文本进行判断。python中有内置模块可以查看chardetimport chardettext = open(f
python2 中文 乱码问题
乱码产生的原因乱码产生的根本原因是字节流转换字符前后不一致导致。只要掌握了这个核心,就能解决乱码问题,尤其在java中,严格区分了字节流和字符,解决起来更简单。但python2中的string严格说来是字节流,没有编码,反而给乱码的理解带来了困难。下面,我以控制台下的乱码,举例说明。源文件编码、字符串编码在python中有2个地方的编码要注意,源文件的编码、字符串的编码,只要设置正确了就不会出现乱码
python 输出中文乱码的问题
在使用python编程的时候,经常会遇到输出中文乱码的问题,比如打印的时候,经常发现: "\u5973\u4eba""\u5973\u4eba",明明已经将中文打印出来了,但是却看不到具体的内容; 在python2的版本中,设置了: reload(sys) sys.setdefaultencoding("utf-8") 仍然无法解决,能看出输出,却看不到内容,着实让人不爽。 解决方法:...
Python的中文字符乱码
打算用Python解析一下网络日志文件。 必然地遇上了中文乱码的问题。 小弟以前学Java,用Python解决中文乱码的问题真不知道如何入手。 在Java下面调试通过的代码,放在Python环境下就给我闹脾气了。   费我九牛二虎之力,终于在一位Oschina大大的帮助下问题解决了。 Python编码的思路主要是: 1.字符串 2.Unicode 3.目标编码集 其中(CP93...
python3还会有中文输出乱码问题?!!
这篇文章是以前重构一个python2项目为python3时遇到的一个问题,当时记录下来没有发表,现在发表在这里存档。众所周知,python3相比python2的一个最大的改变就是str统一是unicode编码的,带有中文的字符串再也不用写成  u'中文' 这么麻烦,但是最近却遇到了 print('中文')  报错UnicodeEncodeError: 'ascii' codec can't enc...
Python 解决matplotlib绘图显示中文乱码或错误问题
编译环境:Win10+Aconada3.6 或Win10+Python2.7问题描述:在使用matplotlib绘图时,我的Label需要为中文,我写下如下代码:ax.plot(Dataset[4][1:],'r',marker='o',linewidth='3',label='电流')运行之后直接报错,通过在网上查询资料,修改代码如下:ax.plot(Dataset[4][1:],'r',mar...
python logging输入文件中文字符乱码
Python版本3.6 解决方法很简单,在定义Filehandler时指定encoding就好了 import logging file_hanlder = logging.FileHandler(filename='example.log', encoding='utf-8') 因为看python的logging.FileHandler()类的代码如下,就知道Filehanlder也支...
Python2中文乱码处理
背景本文在Window 10 python2.7.13下运行测试。python处理中文字符时存在很多问题,根源在于python表示汉字有两种表示形式和Window系统编码之间的矛盾。本文通过实验,力争弄清几者之间的关系。首先说理论基础。理论基础一、Python中文字符有两种表示形式:一种是如a='巩庆奎',另一种是b=u'巩庆奎'。前者表示的是字符串编码,是Str类型,值根据采用的编码(utf、g...
python的中文数组输出乱码问题
1-先来几组测试 测试1:在控制台上list1 = ['哈哈', 'haha'] print list1 for item in list1: print item print ','.join(list1)测试结果: [‘\xb9\xfe\xb9\xfe’, ‘haha’] 哈哈 haha 哈哈, haha 这里同时给出了在控制台的解决方式:一个一个输出就好测试2:把它展现在网
Python3使用matplotlib画图中文显示乱码的问题
解决方案: 在代码里加入以下几行: import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['font.family']='sans-serif'    
python3+ 解决写入中文乱码的问题
import json data = [{'id': ' 002', 'name': ' 小明', 'type': ' Grass', 'typeTwo': ' Poison'}] # 首先要用utf-8的格式打开文件 with open('sty.json', 'w', encoding='utf-8') as f: # 然后需要让ensure_ascii设置为False,则可以将中文以
解决Python2.x中文乱码问题
最近解决项目中遇到的python输出中文乱码问题,记录一下。后端response content-type为application/json,python直接print显示没有问题因需要使用JSON中部分字段内容,通过JSON load为dict后再输出就乱码conn = httplib.HTTPConnection(ip, port)conn.request('POST', url, param...
Python3 使用 logging 模块输出日志中的中文乱码解决办法
创建filehandler的时候指定编码为utf-8 handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount=5, encoding='utf-8') # 实例化handler 2018-01-18 10:52:44,281 - INFO - �������
Python控制台中文乱码,终端中文乱码问题
最近在看Python,代码对于绝大多数,写过别的语言的人来说,比较容易接受,但是让我头疼的是,在写爬虫的过程中,如 ,开发页面,开发软件的控制台,及widows控制台都先后出现过中文乱码的问题,甚至有的时候会导致报错的问题。踩了一天坑,感觉踩完了,特来记录下,也与大家分享下 首先,我使用的是Python是2.7。 1.开发页面,启动报错,或者因中文有问题,请在.py文件的最上上方加上,可以解决
[问题]python内部os.system输出中文乱码
import os os.system("dir") 输出结果:  F:\code\python\django ��Ŀ¼ 2017/05/08  10:13              . 2017/05/08  10:13              .. 2017/05/08  09:46              mysite 2017/05/08  10:13
go中文字符串处理
word:= "1234百万红包" wordRune := ([]rune)(word) lenght := len(wordRune) for i := 0; i < lenght ; i++ { fmt.Println(string(wordRune[i : i+1])) }
Python — 文字输出乱码
1. Python中列表或字典输出乱码的解决方法 问题: Python中的列表(list)或字典包含中文字符串,直接使用print会出现以下的结果: #打印字典 dict = {'name': '张三'} print dict &amp;gt;&amp;gt;&amp;gt;{'name': '\xe5\xbc\xa0\xe4\xb8\x89'} #打印列表 list = [{'name': '张三'}] pr...
彻底搞懂 python 中文乱码问题
前言 曾几何时 Python 中文乱码的问题困扰了我很多很多年,每次出现中文乱码都要去网上搜索答案,虽然解决了当时遇到的问题但下次出现乱码的时候又会懵逼,究其原因还是知其然不知其所以然。现在有的小伙伴为了躲避中文乱码的问题甚至代码中不使用中文,注释和提示都用英文,我曾经也这样干过,但这并不是解决问题,而是逃避问题,今天我们一起彻底解决 Python 中文乱码的问题。 基础知识 ASC...
【转载】解决ncurses中文乱码问题
使用ncurses却发现中文无法显示,显示出来的都是乱码,网上搜索后发现了ncursesw的unicode版本,这样只需要要编译的时候使用-lncursesw就可以显示中文了,但是我却发现这也没有用处,中文还是照样无法显示,后来经过折腾终于解决了这个问题,其实很简单,在程序的开始设置一下locate就行了       #include        char *setlocale(int cate
python 之 解决输出中文字符乱码
Python在执行过程中,常常出现不能读取中文路径名,表现为读取的路径是空或者直接报错(WindowsError: [Error 2]),也有时候出现不能正常输出中文字符串,编译器报错为(KeyError),这是编码出现了问题。这个时候在字符串后面添加转码操作即可。 详见源码示例如下 【中文字符串】
python字符串处理方式以及解决字符串乱码不再是难题
简介 相信很多程序员都碰到过字符串乱码的问题,有的人初步分析下就容易定位出问题来,而有的人就像无头苍蝇一样,就是瞎撞,gbk不好使,就换utf-8,再不行decode,encode…,一堆尝试。 其实,一开始,我也是一样,对字符集不是很懂,不管是使用c/c++编程,还是python,只要碰到程序里有中文了,就不知所措,花了几天时间研究了字符集相关知识,总算有点收获。大体列举如下注意事项: 要处理...
Python pandas plot输出图形中显示中文乱码问题
解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaconda2\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc' #修改此配置文件,一劳永逸,不用在每个脚本中写代码解决中文显示
【TIPS】关于matplotlib包plt.show()画图中文字符乱码
关于matplotlib包plt.show()画图中文字符乱码%matplotlib inline import matplotlib.pyplot as plt years = [1950, 1960, 1970, 1980, 1990, 2000, 2010] gdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3] pl...
python shell 中文乱码解决
记录了python shell调试中文乱码的解决方法
使用pandas.read_csv()中文乱码问题
加入参数 enconding = 'utf-8' 即可。 eg. df = pd.read_csv('G:\\yourData.csv',encoding="utf-8")
Python Yaml dump文件时中文显示解决方法
在做Yaml case文件拼接时遇到一个问题,就是把中文字符load出来再dump到yaml文件时,中文字符都显示为16进制编码而不是显示中文,查了下pyyaml官网资料,终于找到解决办法, dump 时加入3个参数: def generate_yaml(suite): file_name = suite + ".yaml" with open(file_name, "r") as...
linux下python2.7中文字符问题
先简单化问题: testList = ['山东','科技','大学'] print '%s' %testList 上面代码我在linux环境下试了试,发现输出的是正常的中文字符。。。(这不是没问题吗) 然而,如果代码是从文本中直接读取数据的话输出的格式是unicode(ig.\xe65\xe87),在网上找了很多解决的方法,像'#coding:utf-8'啊,reload(sys)啊,解码...
Code::Blocks 中文字符输出乱码的问题求解?
Win 7平台下,创建的Code::Blocks + Objective-C编译环境,遇到的字符编码问题. Code::Blocks 中文字符输出乱码,我把整个设置都录成视频,大家可以通过下面这个百度网盘的链接(ttp://pan.baidu.com/s/1c2phPzq 百度贴吧里的问题:),下载观看!如果您知道,问题出在哪里,欢迎给我点评!我的邮箱是cweinet@qq.com
python3: 文件中有中文,显示时乱码的解决方法
在python3中,如果文件中有中文,我们尝试使用open()读取文件时,会出现乱码的现象,解决方法如下: 在open()函数中添加一个参数: encoding=“gbk” file=open('1.txt' , 'r' , encoding="gbk") 即可解决问题 ...
有关graphviz中文乱码的一个与总不同的很无奈的解决方法
(注:斜体部分为废话) 辛辛苦苦写的博客,刷新了一下,想哭。 如果在此之前你试了所有你能找到的有关graphviz中文乱码的解决方法还是不行,那么找到这篇博客后,我感觉你在解决这个问题的路上迈出了一大步。 一般网上有关graphviz中文乱码的解决方法为: 1 把源文件保存为UTF-8的格式 2 设置fontname 这个方法我试了很多遍,我发现只是这样还不行
pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决
pycharm打印中文出现乱码,有几种情况 第一种: 对于这种情况,是普通的一种,你需要检查开头,是否加了 # -*- coding:utf-8 -*-还有import sys reload(sys) sys.setdefaultencoding('utf-8') 对于这两个处理中文输出的代码,最好每次处理中文时就加上,会减少很多问题 第二种问题:
Linux下输出中文乱码
之前遇到Linux下输出中文是打印乱码,总结了一下经验: vim /etc/sysconfig/i18n,用如下内容替换之前内容: LANG=&quot;zh_CN.GB18030&quot; SUPPORTED=&quot;zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en&quot; SYSFONT=&quot;latarcyrheb-sun16&quot;   reboot后就可以输出中文了。 第一行 表...
python输出中文乱码的问题
中文编码一般使用utf-8、gbk、gb2312等编码,但有时候根据汉字源编码的不同,在转换为utf-8或gbk或gb2312编码的时候,有时候输出还是乱码,如:有时候还会报错,如: 这些是由汉字的编码不同导致的,详见这些编码的区别: GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下
Python中CGI模块中文乱码的问题解决方案
Python中CGI模块中文乱码的问题解决方案cgi模块代码:web服务器上面html的代码为:很简单,就是一个html有下拉选择框,选完之后传值到我们写好的cgi。 选择好之后,页面竟然是这样的 中文乱码了。 我是这样解决的。 1.首先找到apache的配置文件httpd.conf里面加入下面一句话AddDefaultCharset off2.服务器网页指定编码
关于python中中文字符切割乱码的问题
利用find()函数找到要切割字的位置(index),如果切割字是中文,并不能直接(index + 1),而是要(index + len(带切割字符)) eg . s = "商务人生如影随形 ThinkPadT440亚马逊促—万维家电网" index = s.find("—") a = s[index + len("—") :] 如果直接a = s[index + 1:],输出a
python关于windows创建含有中文字符串的文件夹及文件时乱码的问题处理
文件夹和文件的名字里面含有中文字符串时出现乱码的处理: 把该字符串编码转换为unicode或gbk编码的字符串来解决。代码第二行如有声明编码格式如utf-8,则代码里面出现中文字符串的地方就按照utf-8格式的字符串去处理;如没有编码声明,则windows系统默认为gbk编码,而linux默认为utf-8编码。 #!/usr/bin/env python # coding:utf-8 impo...