保存对象做通过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。 –