python idle 中文_Python IDLE 中文乱码问题

最近忙完了一个比较大的 GIS 软件系统,于是闲暇之余想研究一下开源的技术,纵观当前开源桌面 GIS 软件领域,最牛叉的莫过于大名鼎鼎的 Quantum GIS,简称 QGIS。做过 GIS 的人都知道,ESRI ArcGIS 是 GIS 软件领域迄今为止世界上最牛叉的一个,但由于是商业软件,故而其价格普通大众望而却步。于是,寻找一款开源免费的且功能又能与之睥睨的GIS软件就在所难免了。本人经过大量比较得出,QGIS 当之无愧!

可是对于我来说,由于我是搞 GIS 软件应用开发的,而且只精通 Java 和 .NET 技术,而 QGIS 只支持 C++ 和 Python 两种开发语言,对于大多数人来说,C++ 技术门槛着实有点难搞。本人也不例外,由于 Python 知名度越来越高,且越来越优秀,于是我选择了 Python···

说道重点了,玩过 Python 的人都知道,搞 Python 开发一般都是在 Python 自带的 IDLE 集成开发环境中写代码。当我选好书籍,装好 Python 软件并配置好一切相关环境之后,便开始了 Python 编程之旅···

刚开始一切都还 OK,跟着书本上一步一步来,一句“Hello Python!”字符串优雅地打印了出来···

慢着,我是中国人,打印点中文出来试试呗,于是我来一句 print ‘我是中国人‘,问题出来了,控制台打印出了一串类似’\xd6\xd0\xce\xc4′

一样的鬼符。我顿时纳闷了,这玩意儿不能玩中文吗?于是跑去问谷歌、度娘等大婶,还是没有找到终极解决方案。于是我想起了一句话“求人不如求己”,自己根据多年 Java 和 .NET 的经验告诉自己,问题一定是出在 Encoding 上,终于功夫不负有心人,找到了解决的办法。

问题分析:

首先,我的 Windows 7 中默认的编码是 GBK 编码;

其次,在 Python 内部,默认的字符编码应该是跟操作系统一样,而我们中国人用的多数都是 Windows 中文系统,即默认是 GBK 编码。而在 IDLE 中,直接输入中文字符,其实就是 GBK 编码的;

分析到这里,理论上,应该是没问题的,为啥还是出鬼符呢?我们知道,在 Java 等其他语言中处理中文时,无一例外都跟 Encoding 有关。因此,Python 也不例外,既然环境什么的都没问题,那问题肯定在于源代码文件的编码和 IDLE 编辑器的编码在设置上出现了不一致,进而导致了问题的发生。顺着自己的思路,首先我把我自己的 Python 源码文件存成 Unicode 编码格式,然后再在源代码开始处加上如下这句:

# -*- coding: GBK -*-

...... 其他 Python 源代码 ......

然后,选择 IDLE 的菜单 Options -> Configure IDLE... 打开 IDLE 的配置选项,切换到 General 选项卡,找到 Default Source Encoding 设置项,选中 Locale-defined 选项,点击 Apply 按钮,再点击 OK 以便保存设置。

关闭退出 IDLE 并重写打开 IDLE 集成开发环境,此时你再试一下:

>>> print‘我是中国人‘

我是中国人

哈哈,恭喜您,成功了!漂亮优雅的“我是中国人”给打印了出来···

原文:http://blog.csdn.net/zlxzlxzlxzlxzlx/article/details/42519923

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见浏览器兼容性问题及解决方案

常见浏览器兼容性问题及解决方案: 1.不同浏览器的默认内外边距和内外补丁不同。 解决方案:css设置 *{margin:0; padding:0;} *是通配符,匹配所有html标签。 2.块级元素float之后,又有横向margin时,IE6显示margin比设置…

2020年物联网发展现状与趋势预测

来源:北京物联网智能技术应用协会一、综述物联网源于互联网领域,是信息科学技术产业的第三次革命。物联网是基于互联网,让所有物体能够独立寻址的普通物理对象实现互联互通的网络。简单说,就是通过安装信息传感设备,如…

shell中执行某条语句失败能不能重复执行_如何理解Mysql中的事务隔离级别?

要说清楚Mysql中的事务隔离级别,我们先从事务的定义说起。事务,是一个或一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。整个单独单元作为一个不可分割的整体,如果单元中某条sql语句一旦执行…

oracle 试图访问已经在使用的事物处理临时表,解决ORA-14450:试图访问已经在使用的事务处理临时表...

在开发使用过程中,一个存储过程用到表TMP_DA_GMS,允许程序的时候报错,后台查询到错误原因是因为表里有个字段需要设置为可以为N在开发使用过程中,一个存储过程用到表TMP_DA_GMS,允许程序的时候报错,后台查询到错误原因是因为表里有…

linux 下环境变量设置

Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量。系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。 修改用户环境变量 用户环境变量通常被存储在下面的文件中: ~/.profile ~/.bash_profile 或者 ~./bas…

《数字孪生体技术白皮书(2019)》(简版)全文

来源:《数字孪生体实验室原创》12月27日,数字孪生体实验室与安世亚太联合正式发布了《数字孪生体技术白皮书(2019)》。白皮书的第一部分关注对数字孪生体的抽象和总结。无论是参考架构、成熟度模型还是关键技术,都以“…

oracle批量构造数据,oracle批量构造数据方法 - rd_clp的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

1.一种是只要数据条数,至于里面内容可以是序列方式,另外可能几个表中相互id的关联,那建议用存诸过程写.表a(id,name)有学员的信息表b(id,testid,subject,score)有学员的考试成绩假设表a与表b的id都是有seq的自增长系列;表b.testid…

sql 删除字段中下划线_SQL基础教程知识点总结

1. ●列 ●字段 ●行 ●记录 2. SQL 语句及其种类 DDL DDL(Data Definition Language,数据定义语言)用来创建或者删除存储 数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。 CREATE:创建数据库和表等对象 DROP: 删除数据库和表等对象 ALTER: 修改数据…

代码实现从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt...

package com.loaderman.test;import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet;public class Test {/*** 从键盘接收一个字符串, 程序对其中所有字符进行排序,例如键盘输入: helloitcast程序打印:acehillostt* 分析:* 1,键盘录入字符串,Scann…

王恩东院士:AI计算是未来的核心生产力

来源:蓝海长青智库12月27日,以“超算无界、智创未来”为主题的2019国际超级计算产业博览会在济南召开。中国工程院院士、浪潮集团首席科学家王恩东在大会发表《智慧计算 未来动力》主题演讲。王恩东指出,人工智能正在驱动前所未有的社会变革&…

php 501解决办法,PHP 使用错误处理解析

这篇文章主要为大家详细介绍了PHP 使用错误处理解析,具有一定的参考价值,可以用来参考一下。对使用PHP的错误处理感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!在web 上所有常见的错误之一就是无效的链接。一旦从其它…

“阿基里斯与乌龟”的终结性思考

“阿基里斯与乌龟”是公元前五世纪古希腊芝诺提出的悖论,想必大家都已耳熟能详了。 乌龟只要还在阿基里斯前头,那么阿基里斯是一直处于追的状态,换句话说在这种状态下他一直没追上。 哪怕乌龟的领先优势越来越小,直至很小&#xf…

指纹识别 python_python 网站指纹识别

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)

1.exit()函数exit(int n) 其实就是直接退出程序,因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的。一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出…

​采访了14位技术公司的创始人,他们如何看待2020年的AI行业?

来源:KDnuggets编译:木槿、张大笔茹、楚阳科幻元年2020年马上就要来了。对于技术行业来说,这一年会有哪些值得期待的变化?KDnuggets采访了14位科技前沿的技术公司创始人,并汇总了他们眼中的2020年:关于人工…

前端编程基础

网页前端编程基础 HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言&#xff0c;而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页<html> <body>…

spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案

Spark SQL小文件是指文件大小显著小于hdfs block块大小的的文件。过于繁多的小文件会给HDFS带来很严重的性能瓶颈&#xff0c;对任务的稳定和集群的维护会带来极大的挑战。一般来说&#xff0c;通过Hive调度的MR任务都可以简单设置如下几个小文件合并的参数来解决任务产生的小文…

linux脚本 scp 管道,scp命令详解(全)

svn 删除所有的 .svn文件find . -name .svn -type d -exec rm -fr {} \;linux之cp/scp命令&#xff0b;scp命令详解名称&#xff1a;cp使用权限&#xff1a;所有使用者使用方式&#xff1a;cp [options] source destcp [options] source... directory说明&#xff1a;将一个档案…

白春礼:探究物质世界奥秘的一把金钥匙——纪念元素周期表发表150周年

来源&#xff1a;中国科学报联合国大会宣布2019年为国际化学元素周期表年&#xff0c;旨在纪念俄罗斯化学家门捷列夫在150年前发表元素周期表这一科学发展史上的重大成就。世界万物是由什么最基本的物质构成的&#xff1f;这些最基本的物质又是怎样变成万物世界的&#xff1f;这…

莫名的证书错误...ERROR ITMS-90035:Invalid Signature.

请删除 .DS_Store 这种类似的文件再尝试转载于:https://www.cnblogs.com/decode1234/p/6529601.html