Python與PyCharm的中文顯示問題
阿新 • • 發佈:2018-12-05
最近在編寫Python爬蟲,用的Python2.7中文在IDE裡的顯示非常蛋疼,
我用的IDE是PyCharm 2018.1...
爬取的資料經常無法顯示出中文,(估計一大部分是print語句的鍋..) 想特意總結一下:
1. 每個.py檔案開頭加
# -*- coding:utf-8 -*-
這樣就可以在.py檔案中出現中文了, 例如中文註釋,注意這個宣告和print內容以及檔案輸出沒有任何關係
2. 爬下來的JSON 解析後一直print成類似'\xe8\xbc\xaa\xe3'的unicode碼
試了很多方法都沒用,特別奇怪的時候我發掘可能是解析的時候添加了轉義字元.... 比如'\xe8'是按照'\\xe8'存的...
所以用string_escape試了一下, 果然可以順利輸出了..解決了一大問題
print(str(painterMap).decode('string_escape'))
3. PyCharm設定
為了讓pycharm輸出顯示正確中文,File-> Settings -> File encoding -> utf-8
這裡我的project encoding 設定為system default (GBK)貌似也可以的..
4. 中文亂碼
遇到亂碼的情況95%是編碼問題.. 用decode()/encode()解決...要具體爬取下來資料的編碼具體分析
str1 = u'你好啊' # unicode Chinese Chars str2 = str1.encode('gb2312') # encode str1 with gbk coding str3 = str1.encode('utf-8') # encode str1 with utf-8 coding str4 = str2.decode('gb2312') # decode str1 with gbk coding print(str1) print(str2) print(str3) print(str4)
5. 中文路徑
在輸入中文路徑獲取檔案的時候會告訴我檔案不存在...
例如: D:\python\年終總結.docx
需要對路徑進行unicode加密成: (r'xxx' 表示強制不轉義)
path = unicode(r'D:\python\年終總結.docx', 'utf8')
或者直接用u'XXX':
file = open(u'D:\\python\\年終總結.docx', 'rb')
---------------------
作者:PerryXu_BIT
來源:CSDN
原文:https://blog.csdn.net/perry_x/article/details/80274714