Python學習筆記 出現亂碼問題之解決方案彙總

2021-07-30 00:14:13 字數 1289 閱讀 8947

【使用notepad++&cmd】

1.無法輸出中文:

import urllib2

import cookielib

url = ""

print "第一種方式"

response1 = urllib2.urlopen(url)

print response1.getcode()

print len(response1.read())

print response1.read()

報錯「  file "baidu.py", line 6 syntaxerror: non-ascii character '\xe7' in file baidu.py on line 6, but no encoding declared; see for details」

解決方案:

# coding:utf8

import urllib2

import cookielib

url = ""

print u"第一種方式"

response1 = urllib2.urlopen(url)

print response1.getcode()

print len(response1.read())

print response1.read()

或將第一行改為:

# -*- coding: utf-8 -*-

2.cmd編碼方式問題

cmd預設編碼方式為gbk(936),若需改為utf-8輸入chcp 65001,同時將字型改為lucida console。

輸入chcp或直接右鍵屬性可檢視當前編碼方式

3.print xx.read()輸出亂碼

查了一下,嘗試使用了decode但仍然沒有解決問題。用pycharm執行正常,猜測是cmd尚未調好。索性放棄= =

附decode方式:

rp = response3.read()

print rp.decode('編碼方式')      如:gb18030

4.pycharm輸出亂碼

在前附**

import sys

reload(sys)

sys.setdefaultencoding('utf8')

但即使這樣cmd執行也仍是亂碼,預備接下來的學習都是用pycharm好了= =

目前原理尚未太清晰,以後再去理順

學習筆記7 cookie 出現亂碼

下面是沒用過的資料 設定cookie時 獲取cookie時 private string loginusername public string loginusername else if request.cookies username null request.cookies username ...

Python學習筆記 出生日期轉化為年齡

在資料探勘專案中,有時候個體的出生日期包含資訊量過大,不適合作為乙個有效資料進入模型演算法訓練,因此有必要把出生日期轉化為年齡age,age是乙個很好的特徵工程指示變數。1.首先將birth轉化為標準時間格式 2.獲取當前時間的年份,並且減去birth的年份 使用dt.datetime.today ...

PHP MySQL儲存資料出現中文亂碼的問題

php mysql出現中文亂碼的原因 1.mysql資料庫的編碼是utf8,與php網頁的編碼格式不一致,就會造成mysql中的中文亂碼。2.使用mysql中建立表 或者選擇欄位時設定的型別不是utf8,而網頁編碼不是utf8,也可能造成mysql中文亂碼.3.php頁面的字符集與資料庫的編碼不一致...