2024-05-29

[C#] 解決 .NET 6 部署到 Linux 出現亂碼問題的經驗分享

今天要記錄一個不大不小的事情,因為最近在部署 .NET 6 網站到 Linux 機器上時,出現了亂碼方框的問題。

經過查詢,發現這是編碼問題引起的。雖然預設情況下應該是使用 UTF-8 編碼,但有時候在複製貼上內容時,會自動變成 Big5 編碼。


這樣的情況只能一個個找出來重新儲存,非常麻煩,為了解決這個問題,我決定用程式來解決。以下是我的做法,主要是指定檔案夾後,開啟程式碼並判斷檔案的編碼類型

然後統一改成 UTF-8(編碼 65001)。


C# Code:


就筆記一下給之後需要的時候快點就專案檔案一次改好。

reference:

http://blog.darkthread.net/post-2012-04-11-detect-big5-encoding.aspx

https://learn.microsoft.com/zh-tw/windows/win32/intl/code-page-identifiers?redirectedfrom=MSDN