.NET Core 預設不支援 BIG5編碼,使用時需要特別撰寫註冊,這部分可能會在使用有需求是透過 Encoding 物件做相關操作時會遇到,今天的情形是,需要測試讀取某個網頁內容,也會有 BIG5 問題,隨手紀錄一下
測試讀取台灣google 網頁的內容(https://www.google.com.tw),遇到 BIG 5 問題,畫面如下
這邊示範是使用 .NET 6
特別將錯誤的訊息 Highlight
要解決這個問題,僅需要加入以下程式碼
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
調整後的程式碼
成功讀取到網頁內容
接著來看一下 NET Core 內建有哪些編碼,如下圖,僅有數個
此時若加上 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 比對一下
再來看看 .NET Framework 的版本,確實內建就已經存在了
以上,就是備忘錄一下
值得一提的是,一開始最前面的範例中,要讀取的網頁是 https://www.google.com.tw,會有內容讀取編碼問題,若此時拿掉 .tw ,意即僅僅只有 https://www.google.com ,此時即使沒有註冊其他編碼程式也不會有問題
提供給大夥參考一下
沒有留言:
張貼留言