[問題] 為何中文字串用UTF-8存檔後變成亂碼?

看板Python作者 (沙羅)時間6年前 (2019/01/16 14:15), 6年前編輯推噓1(107)
留言8則, 3人參與, 6年前最新討論串1/1
我從某網站01頁、02頁...這樣掃出想要的字串,並用UTF-8存為純文字檔 但有某頁的中文字串存檔後都變成亂碼 亂碼類似這種感覺:%#v$@C (正確而言不是這樣的符號,很多是PTT無法顯示的字元) 非中文的字串都正確存檔,所以應該是編碼錯誤 但其他頁的執行結果都正確,唯獨某頁會這樣 觀察該頁原始碼還是沒發現除了文字內容之外和其他頁不一樣的地方 有人遇過這種問題嗎? 是不是因為遇到什麼特殊字元? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.213.89.40 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1547619307.A.89C.html

01/16 15:42, 6年前 , 1F
亂碼有可能是你檢視時的問題;可以附上連結或圖嗎?
01/16 15:42, 1F
已確認過HEX,所以排除檢視的問題。我把每一頁爬梳的結果都存在同一個文字檔,只有 該頁的輸出是亂碼。單獨掃該頁也是亂碼。

01/16 16:11, 6年前 , 2F
encoding='utf-8-sig'
01/16 16:11, 2F
謝謝,但加了sig還是亂碼 ※ 編輯: shala (173.213.89.40), 01/16/2019 17:16:28

01/16 21:43, 6年前 , 3F
直接給有問題的頁面和你爬的 code,窮舉亂槍打鳥很難
01/16 21:43, 3F
確實是這樣,只是不太方便給出... 本來是想看看有沒有人有類似經驗,可以指點一下方向。 ※ 編輯: shala (173.213.89.40), 01/16/2019 22:16:03

01/16 22:59, 6年前 , 4F
站內信 或是給個頁面原始碼...
01/16 22:59, 4F

01/17 22:43, 6年前 , 5F
你看一下網頁原始碼 <meta charset="xxxx" />
01/17 22:43, 5F

01/17 22:43, 6年前 , 6F
big5 要用 big5 解,utf8要用 utf8 解
01/17 22:43, 6F

01/17 22:53, 6年前 , 7F
把資料餵給 bs 去爬的時候是 bytes,先 decode成 unicode
01/17 22:53, 7F

01/17 22:53, 6年前 , 8F
在餵進去
01/17 22:53, 8F
文章代碼(AID): #1SFilhYS (Python)
文章代碼(AID): #1SFilhYS (Python)