今天看到mechanize,在网上找例子实验,发现只要代码里出现中文,就会报错

SyntaxError: Non-ASCII character '\xe4' in file testMech.py on line ,
but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

python的默认编码文件是用的ASCII码

使用notepad++

(1)文件编码为:以UTF-8无BOM格式编码

如果python文件中使用了中文等非英语字符,就会报错了

解决的方法

在Python源文件的第一行加上

# coding=UTF-

或者

# -*- coding:UTF- -*-

输出

# -*- coding:UTF- -*-
string='你好'
print string

改为

# -*- coding:UTF- -*-
string='你好'
print string.decode('UTF-8')

中文字符串是保存在元组、列表或者字典里,可以调用json模块的dumps方法

# -*- coding:UTF- -*-
import json
print u'你好'
string='你好'
print string.decode('UTF-8')
t_tuple=('嗨','你好')
t_list=['嗨','你好']
t_dict={:'嗨',:'你好'}
print json.dumps(t_tuple,encoding='UTF-8',ensure_ascii=False)
print json.dumps(t_list,encoding='UTF-8',ensure_ascii=False)
print json.dumps(t_dict,encoding='UTF-8',ensure_ascii=False)

(2)文件编码为:以ANSI格式编码

#coding:gbk
string='你好'
print string

中文输出正常

#coding:gbk
import json
string='你好'
print string
t_tuple=('嗨','你好')
t_list=['嗨','你好']
t_dict={:'嗨',:'你好'}
print json.dumps(t_tuple,encoding='gbk',ensure_ascii=False)
print json.dumps(t_list,encoding='gbk',ensure_ascii=False)
print json.dumps(t_dict,encoding='gbk',ensure_ascii=False)

#coding:gb2312或者#coding:gbk都可以的

python 在windows 中文显示的更多相关文章

  1. 【python之路2】CMD中执行python程序中文显示乱码

    在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...

  2. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  3. python matplotlib 中文显示参数设置

    python matplotlib 中文显示参数设置 方法一:每次编写代码时进行参数设置 #coding:utf-8import matplotlib.pyplot as pltplt.rcParam ...

  4. python matplotlib 中文显示乱码设置

    python matplotlib 中文显示乱码设置 原因:是matplotlib库中没有中文字体.1 解决方案:1.进入C:\Anaconda64\Lib\site-packages\matplot ...

  5. python在windows系统中打印中文乱码

    转自:http://www.111cn.net/phper/python/58920.htm 中文乱码对于程序开发人员来讲不是什么怪事情了,今天我在使用python打印中文时就出现乱码了,下面我们一起 ...

  6. 解决“在UBUNTU下打开windows中创建的文本文件,中文显示乱码”的问题 。

    在UBUNTU下打开windows中用notepad等工具创建的txt或程序源码等文本文件,中文显示乱码,原因是windows中的txt文件编码方式为GBK,UBUNTU中为utf-8. 解决办法:在 ...

  7. windows sqlplus客户端连接oralce数据库中文显示问题

    运行环境 服务器:centos6.8 服务器oracle版本:oracle 11g R2 64位,字符集是ZHS32utf8. 客户端:navicat 12x64  windows8.1x64 问题分 ...

  8. 【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题

    前言 众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象.而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用 ...

  9. python生成html文件浏览器中文显示乱码问题

    近来在网上采集数据,想把采集下来的数据整合成html的形式保存.以便其他的平台产品可以直接读取html显示或者根据html标签提取数据. def output_html(self): try: fou ...

随机推荐

  1. <聪明的投资者(第四版点评)>读书笔记

    书在这里 企业的内在价值并不依赖于其股票价格 投资者的最大问题甚至最可怕的敌人,很可能就是他们自己 投资者不能指望通过买任何新股或“热门”股,而获得优于平均水平的收益.从长远来看,这几乎无疑会产生相反 ...

  2. java进程的守护进程脚本

    当jar程序执行异常中断时,希望系统能够自动启动.通过以下shell脚本监控程序一直运行. #/bin/bash while true; do count=`ps -ef | grep test.ja ...

  3. Route学习笔记之Area的Route注册

    前一段时间接触了MVC的Area可以将模型.控制器和视图分成各个独立的节点.分区之后,区域路由注册的需求就出来了. 默认的 在MVC项目上右键添加区域之后,在文件夹下会自动添加一个FolderName ...

  4. kafka中的消费组

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

  5. asp.net无刷新上传(带预览)

    1.有个图片 <img id="Image1" title="用于广告栏及图文框缩略图" width="150" height=&qu ...

  6. linq操作符:聚合操作符

    一.Aggregate操作符 Aggregate操作符对集合值执行自定义聚合运算.来看看Aggregate的定义: public static TSource Aggregate<TSource ...

  7. 定制应用Repeater 、ListView的模版

    若干年前有个需求:客户可在管理后台给每个新闻内容栏目指定新闻的显示样式,有的可以显示新闻时间,有的则不需要.于是就有了动态模版的应用.记得当时是用 LoadControl 的方式然后 Controls ...

  8. JAVASCRIPT 之escape 介绍

    escape() 方法:采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字 符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编 ...

  9. jquery-仿flash的一个导航栏特效

    演示地址:http://itxiaoming.sinaapp.com/demo05/demo.html <html> <head> <meta http-equiv=&q ...

  10. [Forward]Sweeping the IDisposable minefield

    IDisposable has been around since the beginning of .Net.The basic premise is simple.. Developers don ...