zoukankan      html  css  js  c++  java
  • python 在windows 中文显示

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

    SyntaxError: Non-ASCII character 'xe4' in file testMech.py on line 2,
    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-8

    或者

    # -*- coding:UTF-8 -*-

    输出

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

    改为

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

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

    # -*- coding:UTF-8 -*-
    import json  
    print u'你好' 
    string='你好'  
    print string.decode('UTF-8') 
    t_tuple=('','你好')  
    t_list=['','你好']  
    t_dict={1:'',2:'你好'}  
    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={1:'',2:'你好'}  
    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都可以的

  • 相关阅读:
    把手机用户的身份验证简化到极致 – IEMI
    WIFI 功放芯片确定功率大小
    告别镜像端口:完成流量监控全功略
    windows 2003 server 配置为NTP服务器
    【转】VIM 多文件跳转
    【转】在Linux下FQ的看过来
    【转】VIM自动完成
    【转】VIM下的跳转练习
    【转】vim 窗口调整
    【转】Cscope的使用(领略Vim + Cscope的强大魅力)
  • 原文地址:https://www.cnblogs.com/baby123/p/8085662.html
Copyright © 2011-2022 走看看