在 FB  看到 91 貼了一張照片,提到某廠商的電子報一直存在亂碼問題,寄信人與信件主旨出現一堆嚙調客、嚙踝蕭… 之類的怪字亂碼。

有種畫面上到處是老鼠的感覺… (嚙是的異體字)

連 Chrome 也想吶喊「有老鼠!Encoding 碰上麻煩了。」 XD

之前寫過一篇中文亂碼"蕞蕞蕞蕞"是怎麼來的? ,猜想同樣是錯用編碼解析的結果,雖然最近案子忙到火燒屁股,但就看到球滾進了我的守備範圍,還是忍不住研究起老鼠從哪來… XD

用一小段程式驗證問題來自「錯用 UTF8、BIG5 解碼」:

首先將「嚙踝蕭嚙踝蕭」做一次 BIG5 逆轉回 UTF8,得到 ����,� (EF-BF-BD)是 UTF8 無法解碼時使用的無效字元符號。由此推測問題來自非 UTF8 字串卻誤用 UTF8 解碼,產生大量�及少量英數字交雜的亂碼字串,接著該 UTF8 字串再被誤當成 BIG5 再解碼一次,「嚙踝蕭嚙踝蕭」就這麼誕生了!結案。


Comments

Be the first to post a comment

Post a comment


56 - 20 =