作者shala (沙羅)
看板Python
標題[問題] 為何中文字串用UTF-8存檔後變成亂碼?
時間Wed Jan 16 14:15:04 2019
我從某網站01頁、02頁...這樣掃出想要的字串,並用UTF-8存為純文字檔
但有某頁的中文字串存檔後都變成亂碼
亂碼類似這種感覺:%#v$@C
(正確而言不是這樣的符號,很多是PTT無法顯示的字元)
非中文的字串都正確存檔,所以應該是編碼錯誤
但其他頁的執行結果都正確,唯獨某頁會這樣
觀察該頁原始碼還是沒發現除了文字內容之外和其他頁不一樣的地方
有人遇過這種問題嗎?
是不是因為遇到什麼特殊字元?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.213.89.40
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1547619307.A.89C.html
1F:→ jiyu520: 亂碼有可能是你檢視時的問題;可以附上連結或圖嗎?01/16 15:42
已確認過HEX,所以排除檢視的問題。我把每一頁爬梳的結果都存在同一個文字檔,只有
該頁的輸出是亂碼。單獨掃該頁也是亂碼。
2F:推 sherees: encoding='utf-8-sig'01/16 16:11
謝謝,但加了sig還是亂碼
※ 編輯: shala (173.213.89.40), 01/16/2019 17:16:28
3F:→ s860134: 直接給有問題的頁面和你爬的 code,窮舉亂槍打鳥很難01/16 21:43
確實是這樣,只是不太方便給出...
本來是想看看有沒有人有類似經驗,可以指點一下方向。
※ 編輯: shala (173.213.89.40), 01/16/2019 22:16:03
4F:→ s860134: 站內信 或是給個頁面原始碼... 01/16 22:59
5F:→ s860134: 你看一下網頁原始碼 <meta charset="xxxx" /> 01/17 22:43
6F:→ s860134: big5 要用 big5 解,utf8要用 utf8 解 01/17 22:43
7F:→ s860134: 把資料餵給 bs 去爬的時候是 bytes,先 decode成 unicode 01/17 22:53
8F:→ s860134: 在餵進去 01/17 22:53