The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

分享幾個在 Windows 與 Linux 常見的編碼問題與解決方案

我每隔幾年我就會遇到一次 non-Unicode 的編碼問題,真的不常見,但這些年來也處理過無數次了,每次都被搞的很煩。最近在 Linux 環境又遇到棘手的編碼問題,檔案內容是從 ISO-8859-1 (Latin-1) 字集的 Sybase ASE 資料庫轉出,所以編碼是 ISO-8859-1 字集,但內容其實是 BIG5 字集,而我用 Windows Terminal + WSL 2 又只支援顯示 Unicode 字集的文字,所以文字無法正常在螢幕上顯示或複製。幾經嘗試後,我決定把這幾年累積的心得都寫下來,以免日後又要再花時間研究一次。

... 繼續閱讀 ...

關於各瀏覽器對【表單內容送出】的編碼處理補充說明

網友 chihwen 提供了一條關於 瀏覽器對 "表單內容送出" 的編碼處理 的新線索,經我詳細測試下發現各瀏覽器之間的確還是有不同的處理規則,尤其是 IE 瀏覽器對這個屬性的實做不太老實進行了智慧型判斷處理,所以有必要特別說明,請看以下分析。

... 繼續閱讀 ...

關於各瀏覽器對網頁與文字編碼的處理規則研究整理

文字編碼 (Text Encoding) 是一個頗為複雜的議題,現在的開發人員很幸福,只要遇到不懂的編碼問題就用 UTF-8 編碼解決,想當初我在開發多奇中文繁簡轉換大師產品時遇到的編碼問題百百種,可說是養成了對於文字編碼的敏感度,之後遇到編碼問題就比較容易能理解與解決問題,今天我來分享「各瀏覽器」對於文字編碼的處理細節,由於這些資訊在網路上又多又雜,似乎不易整理,以下部分內容是我親自實驗並研究出來的心得,如有謬誤之處敬請告知。

... 繼續閱讀 ...

如何解決字集混亂的問題

前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHPNuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。

... 繼續閱讀 ...

Quoted Printable 編碼與解碼

之前曾經有一次到要將郵件主旨(Subject)解碼的經驗,但主旨卻用 Quoted Printable 編碼過了,所以上網找了個 Quoted Printable Encoding & Decoding 的範例程式來看,但下載回來卻不能正常解碼(Decode),經我一翻修改後才可以正常解碼。

... 繼續閱讀 ...

CSS 與網頁編碼(Charset Encoding)的關係

我之前曾經發生過一件事,就是明明載入了 CSS 檔,但是所有的樣式都無法套用,怎麼改都沒用,只要把 CSS 複製到原本網頁的 <head> 中就可以運作了,除錯了很久才發現,原來 *.css 檔的檔案編碼必須跟網頁(*.htm, *.aspx)的編碼一致,瀏覽器才會正確的辨識,且不止 *.css 也包括 *.js 與其他動態載入的文字格式的檔案都需要有相同的編碼。

... 繼續閱讀 ...