㈠ python中文顯示亂碼,已經在開頭有了coding: utf-8
你可能會遇到Python程序中中文顯示亂碼的問題,這通常是由於你的操作系統默認編碼格式與Python程序的編碼格式不一致所導致的。
盡管如此,幾乎所有的現代操作系統都支持Unicode編碼,因此,你可以通過在字元串前加一個'u'前綴來解決這個問題。
解決這個問題有兩種主要的方法。第一種方法是修改操作系統的默認編碼格式。例如,在Windows系統中,你可以通過命令行命令將其設置為UTF-8編碼格式。具體操作步驟是,在命令提示符中輸入以下命令:
chcp 65001
第二種方法是在Python文件中使用Python內置的方法(decode和encode)將文本解碼和編碼轉換為Windows系統的默認編碼格式,如GBK。如果你使用的是其他操作系統,你需要自行查找該系統的默認編碼格式。
需要注意的是,這種方法需要你對編碼格式有一定的了解。如果你不熟悉,可以通過在線資源學習如何識別和修改不同操作系統的默認編碼格式。
總之,通過上述兩種方法中的任一種,都可以有效地解決Python程序中出現的中文顯示亂碼問題。
㈡ 前端是vue,後台用的python。前台get請求url中有中文,後台看到鏈接地址變成了亂碼
傳遞之前先把漢字跟標點符號之類轉成urlcode
js代碼
encodeURIComponent("哈哈哈哈哈");
輸出"%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88"
py代碼使用urllib將urlcode編碼解碼
from urllib import parse
get = "%E5%93%88%E5%93%88%E5%93%88%E5%93%88%E5%93%88"
print(parse.unquote(get))
輸出"哈哈哈哈哈"
㈢ Python+requests 爬取網站遇到中文亂碼怎麼辦
1. 遇到的中文亂碼問題
1.1 簡單的開始
使用requests來拔取網站內容十分方便,一個最簡單的代碼段只需要2-3行代碼就行。
點擊(此處)折疊或打開
url='http//www.pythonscraping.com/'
req= requests.get(url)
print(req.text)
tree= html.fromstring(req.text)
print(tree.xpath("//h1[@class='title']/text()"))
點擊(此處)折疊或打開
url='http://sports.sina.com.cn/g/premierleague/index.shtml'
print(tree.xpath("//span[@class='sec_blk_title']/text()"))
點擊(此處)折疊或打開
print(req.headers['content-type'])
print(req.encoding)
print(req.apparent_encoding)
print(requests.utils.get_encodings_from_content(page_content.text))
點擊(此處)折疊或打開
if req.encoding=='ISO-8859-1':
encodings= requests.utils.get_encodings_from_content(req.text)
if encodings:
encoding= encodings[0]
else:
encoding= req.apparent_encoding
encode_content= req.content.decode(encoding,'replace').encode('utf-8','replace')