保存對象做通過ServiceStack和OrmLite到MySQL。編碼問題,當保存字符串「多納€™噸做」由ServiceStack和Ormlite到MySQL
將該字符串更改爲但是不要在MySQL中執行。
如果我讀從MySQL的價值,再次保存,然後得到Donâ€ââ€ZA¢做T它
它只是發生一個Windows服務器2016上使用.net 4.62,它可以在其他Windows上使用.net 4.62和帶有Mono的OSX正常工作。
ServiceStack庫版本是「4.5.0」; MySQL版本是5.6.23;數據庫表和字符集是UTF-8。
它可能在某處做了錯誤的編碼轉義並重復一遍又一遍。我最近從.net 4.5升級到4.62。
我無法調試它:它適用於開發MAC和測試Windows;它只在生產環境中失敗。
這就是所謂的「雙重編碼」。即使是「三重編碼」。您重複將字節視爲latin1,然後轉換爲utf8。 –