Python输出中文乱码问题

//建立一个文件test.txt,文件格式用ANSI,内容为:

//abc中文

//用python来读取

# coding=gbk

print open("Test.txt").read()

//结果:abc中文

//把文件格式改成UTF-8:

//结果:abc涓枃

//显然,这里需要解码:

# coding=gbk

import codecs

print open("Test.txt").read().decode("utf-8")

//结果:abc中文

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-21 13:19:06

Python输出中文乱码问题的相关文章

win10下使用vscode调试python输出中文乱码的解决办法

今天在vscode中调试一个python脚本时发现中文乱码了,折腾了好一会儿才找到原因,记录一下. 很简单的一句代码测试一下: # -*- coding: utf-8 -*- print('乱码不?') 文件编码设置的也是utf-8,但是调试就是乱码,网上看大都是说设置PYTHONIOENCODING=UTF8的环境变量,尝试过发现还是不行. 其实问题在于windows下的cmd或者PS终端都是默认GBK编码,VSCODE调试时是调用的cmd的,如果把文件头和编码都改成GBK就不会乱码了,但是考

python输出中文——如何在Windows控制台打印不乱码

文章介绍 用Python在控制台打印中文如何不会乱码,一直是困扰很多Pythoner的问题,甚至很多Python老手也经常犯难.原因就在于从一般网页.数据库或文本外来数据源上抓取过来的内容,需要经过正确的编解码才可以正常输出,而Python的编解码机制比较复杂,没有深入思考的话经常遇到调试错误.这篇文章介绍了最常见的几种输出中文的情况,编译平台为Windows控制台,Python版本为2.7.9 文章中一些内容参考了点击打开链接 感谢原作者分享. 预备知识 str和unicode 首先需要弄清楚

python MySQLdb中文乱码

Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装 安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,不过又发现了烦人的乱麻问题,最后用了几个办法,解决了! 我用了下面几个措施,保证MySQL的输出没有乱麻:    1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)    2 MySQL数据库charset=utf-8     3 Python连

python2输出中文乱码问题

python2输出中文乱码问题 1.在源码文件第一行添加 #-*-coding:utf-8-*- 或  #encoding=utf-8 或  #encoding=UTF-8 注意:一定要在第一行! 2.在字符串前加 ' u ' 例: spring=u"这是一个测试字符串" 3.若上述2种方式仍然不能保证能输出正常输出中文,就需要做编码解码设置 即 encode: 编码(真实字符与二进制串的对应关系,真实字符→二进制串) decode: 解码(二进制串与真实字符的对应关系,二进制串→真实

.Net Core 控制台输出中文乱码

Net Core 控制台输出中文乱码的解决方法: public static void Main(string[] args)        {            Console.OutputEncoding = System.Text.Encoding.UTF8;//第一种方式:指定编码            //Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//第二种方式                    

resin后台输出中文乱码的解决办法!

最近从tomcat移植到resin,发现这东西不错啊! 只是后台输出时有时候中文会乱码. 现在找到resin后台输出中文乱码的解决办法: 编辑conf/resin.con文件: <!--javac compiler="internal" args="-source 1.5"/--> 修改成这样: <javac compiler="javac" args="-encoding utf-8"/> 重启服务器

{转}Python IDLE中文乱码

http://hi.baidu.com/yobin/item/166e3a46537781d3c1a59257 乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了. 解决方法:在控制台打印的地方用一个转码就ok了,打印的时候这么写:print myname.decode('UTF-8').encode('GBK') 比较通用的方法应该是:import

VS2010中wmain入口函数中使用wprintf输出中文乱码问题

生活中的单例 中国(China),位于东亚,是一个以华夏文明为主体.中华文化为基础,以汉族为主要民族的统一多民族国家,通用汉语.中国疆域内的各个民族统称为中华民族,龙是中华民族的象征.古老的中国凭借自身的发展依旧美丽的屹立于东方民族之林,闪耀着她动人的光彩,世界上只有一个中国,任何部分都是祖国不可分割的一部分,今天我们的设计模式就从伟大的祖国开始说起---单例模式. 详解单例模式 单例模式是什么?跟我们的祖国有着怎样的关系呢?首先我们来看一下单例,从"单例"字面意思上理解为-一个类只有

Python解决中文乱码问题

在Python中内部所有编码都是Unicode,Unicode属于中转码,一般来说,是先把乱码转化为中转码,再转化为我 们需要的编码,转换过程为decode -> unicode -> encode. #coding:utf-8 #-*- coding:utf-8 -*- import sys print sys.getdefaultencoding() print '中国' f = open('Hello.txt') data = f.read() f.close() print data.