第一种方式:

在python脚本开始的地方加入指定编码方式

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

第二种方式:

有些时候我们会得到这种格式的字符串:

"name": "\u6843\u674e\u9999\u677e\u86cb\u7cd5"

但是在python console中如果输入,则会这样:

>>>a = "\u6843\u674e\u9999\u677e\u86cb\u7cd5"
>>>a
>>>'桃李香松蛋糕'
>>>type(a)
>>><class 'str'>

貌似不用转编码就是中文啊,但是为什么还是非中文呢,所以就需要如下的转换:

如果type(text) is bytes,那么
text.decode('unicode_escape')

如果type(text) is str,那么
text.encode('latin-1').decode('unicode_escape')

第三种方式:

console中文显示乱码问题:

在settings->File encoding界面选择
IDE Encodingproject Encoding(推荐都设置成utf-8)
不过这个设置貌似和程序的编码有关,鉴于一般都是万国码。所以还是这样方便点。

第四种方式:

console中显示unicode编码,设置成显示成中文:

Configuring Output Encoding

PyCharm creates files using the IDE encoding defined in the File Encodings page of the Settings dialog, which can be either system default, or the one selected from list of available encodings. Output in the consoles is also treated in this encoding.

It is possible that encoding used in the console output is different from the IDE default. To have PyCharm properly parse text in the console, you have to do some additional editing.

To set up encoding for the console output, depending on your operating system:

    • In Windows and Linux:

      Open for editing PYCHARM_HOME/bin/pycharm.exe.vmoptions
      or
      PYCHARM_HOME/bin/pycharm.vmoptions

      respectively, and add the following line at the bottom:


      -Dconsole.encoding=<encoding name>

      For example:


      -Dconsole.encoding=UTF-8

In macOS: Open Info.plist located in /应用程序/PyCharm/Contents/, locate the tag <key>VMOptions</key>, and modify it as follows:


<key>VMOptions</key>
<string>-Xms16m -Xmx512m -XX:MaxPermSize=120m
-Xbootclasspath/p:../lib/boot.jar -ea
-Dconsole.encoding=<encoding name>
</string>
没有-Dconsole.encoding=<encoding name>,需要在文本中添加这部分内容,并将encoding name更改成UTF-8
保存以后,重启pycharm生效
 
Terminal终端执行python脚本,包含中文编码报错问题:
1.报错信息
SyntaxError: Non-ASCII character '\xe4' in file sendredpicket.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
 
处理方式: 将# -*- coding : UTF-8 -*- 或# -*- coding : utf-8 -*- 放到文本的第一行
 
2.报错信息
 

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

处理方式:将对对应的中文进行一次utf-8编码

text = u'你是好样的'
text = text.encode('utf-8')
 
 
 

pycharm的console显示乱码和中文的配置的更多相关文章

  1. spring boot: 中文显示乱码,在applicationContext里面配置

    spring boot: 中文显示乱码,在applicationContext里面配置 applicationContext.properties ########################## ...

  2. MySQL 中文显示乱码以及中文查询条件返回0条结果的问题解决

      最近关于中文显示乱码的贴子比较多,所以也做了个总结: 可以参考一下杨涛涛版主的<各种乱码问题汇总>http://topic.csdn.net/u/20071124/08/3b7eae6 ...

  3. ubuntu 中文显示乱码问题 (转)

    添加中文字符编码: $sudo vim /var/lib/locales/supported.d/local #添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 ...

  4. Linux中文显示乱码?如何设置centos显示中文

    Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一 ...

  5. Xshell个性化设置,解决Xshell遇到中文显示乱码的问题

    在同事的推荐下,今天开始使用Xshell连接Linux,但是发现一个“遇到中文显示乱码”的问题, 同事的解决方案如下: 平常给Linux上传文件之前,先把文件转换成UTF-8编码形式, 然后设置Xsh ...

  6. (转)sqlplus中文显示乱码的问题

    sqlplus中文显示乱码的问题 2010-07-19 11:33:26 分类: LINUX 在windows下sqlplus完全正常,可是到linux下,sqlplus中文显示就出问题了,总是显示“ ...

  7. iTextSharp带中文转换出来的PDF文档显示乱码

    刚才有写一个小练习<Html代码保存为Pdf文件>http://www.cnblogs.com/insus/p/4323224.html.马上有网友说,当截取块有中文时,保存的pdf文件将 ...

  8. GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题

    1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下, ...

  9. 解决mysql无法插入中文数据及插入后显示乱码的问题

    (1)废话不多说就是使用mysql数据库的时候无法输入中文,可以输入中文后显示的又是乱码!! (2开始解决问题: 第一步:找到安装mysql的目录找到 my.ini 文件: 第二步:使用记事本打开my ...

随机推荐

  1. 爬取github项目。

    import requests from bs4 import BeautifulSoup url = 'https://github.com/login' headers = { 'User-Age ...

  2. python3 urllib 类

    urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...

  3. PCIE 3.0中使用的动态均衡概念

    一.PCIE 3.0中使用的动态均衡概念 因为PCIE 3.0信号的速率可以达到8Gb/s,而且链路通道走线也可能会很长,这可能会导致高速信号衰减过大,在接收端无法得到张开的眼图.因此在PCIE 3. ...

  4. Shell中sed----学习

    sed原理及使用 目录 前言 一.简介 二.处理流程 三.命令选项options 四.pattern 1. 模式空间 2. 模式空间的转换 3. 地址匹配 五.procedure 1. 替换命令: s ...

  5. Windows学习"Network Analysis in Python"

    原代码仓库的地址为 Network Analysis in Python. 主要按照里面的README.md 进行操作,全部仓库有100MB以上.考虑到数据比较大,再加上我对原笔记文件有修改,建议从我 ...

  6. 解决在vscode中eslint在vue后缀文件中保存时无法自动格式化的问题

    在setting.json中加入如下内容 { "eslint.autoFixOnSave": true, "eslint.validate": [ " ...

  7. Vue源码学习(一)———数据双向绑定 Observer

    从最简单的案例,来学习Vue.js源码. <body> <div id='app'> <input type="text" v-model=" ...

  8. hystrix参数详解

    hystrix.command.default和hystrix.threadpool.default中的default为默认CommandKey Execution相关的属性的配置: hystrix. ...

  9. 《Java从入门到精通》学习总结3

    1. 3种构成重载的条件: 参数类型不同.参数个数不同.参数顺序不同 只有返回值类型不同并不足以区分两个方法的重载. 2. import关键字除了导入包之外,还可以导入静态成员,这是JDK 5.0以上 ...

  10. MySQL联接查询算法(NLJ、BNL、BKA、HashJoin)

    一.联接过程介绍 为了后面一些测试案例,我们事先创建了两张表,表数据如下:   1 2 3 4 CREATE TABLE t1 (m1 int, n1 char(1)); CREATE TABLE t ...