arleigh418 / python-and-Taiwan-stock-market

Python 金融市場賺大錢聖經:寫出你的專屬指標
54 stars 17 forks source link

第二章 2-21 輸出的中文變成亂碼 #45

Open a38867107 opened 9 months ago

a38867107 commented 9 months ago

老師好 我輸出的中文都變亂碼 該怎麼辦 image

arleigh418 commented 9 months ago

Screenshot 2023-10-04_21-09-08-763

您好,很高興收到您的提問,請幫我按照圖上的步驟檢查一下,您的vscode編碼為何。 上方應該是UTF-8 下方utf8 如果不是的話請您調整一下,如果是的話我們再看看還有什麼原因,我個人的電腦上跑是不會有亂碼的,可能我們要慢慢的檢查您的環境。

a38867107 commented 9 months ago

老師好 我沒有下面的utf8 是版本的問題嗎 image

arleigh418 commented 9 months ago

您好, 抱歉連假較忙,較晚回覆您。

您本來就是UTF-8嗎?下面那個沒有應該沒關係 請問您的python版本跟作業系統是什麼呢?我在macos執行沒有遇到什麼問題,我看看能否重現您的環境

a38867107 commented 9 months ago

老師好 我連假也出遊去了 不用擔心 您本來就是UTF-8嗎? 對的 請問您的python版本跟作業系統是什麼呢? python 3.7.6 作業系統如圖 image 感謝指教

arleigh418 commented 9 months ago

您好,謝謝您的資訊。 因為我沒有辦法模擬您的亂碼狀況,我的機器沒有這個情況。 所以可能要請您多一點耐心,讓我多試試幾個solution看能不能解決您的問題

首先請您嘗試看看這兩種不同的編碼 html_data.encoding = 'big5'

例如 html_data = requests.get("https://isin.twse.com.tw/isin/C_public.jsp?strMode=2",headers=headers) html_data.encoding = 'big5' x = pd.read_html(html_data.text)

如果不行請試試utf-8 html_data = requests.get("https://isin.twse.com.tw/isin/C_public.jsp?strMode=2",headers=headers) html_data.encoding = 'utf-8' x = pd.read_html(html_data.text)

a38867107 commented 9 months ago

老師您好 我把python跟vscode重載就OK了 問題已解決

感謝老師的用心回覆