Man*_*n T 1 c# mysql entity-framework utf-8 character-encoding
我有一个如下所示的连接字符串
“服务器=本地主机;Uid=root;Pwd='abcd';数据库=testdb;字符集=utf8;ConnectionReset=True;”
任何带有 unicode 字符的数据库表列的插入都会作为特殊字符插入。如果我删除“ConnectionReset=True;”,一切都会正常工作 从我的连接字符串。知道这是怎么回事吗?
注意:我相信我的代码没问题,因为当我ConnectionReset=True;从连接字符串中删除部分时,插入 unicode 没问题。
您遇到MySQL Bug #85185:“ConnectionReset 池选项不保留 CharSet 选项值”。
使用ConnectionReset=true;是个好主意。但是,这会产生将连接字符集重置为服务器默认值的副作用,这不是您想要的。我可以想到两种解决方法:
connection.ExecuteNonQuery("SET NAMES utf8mb4");每次调用后执行connection.Open()。这将在连接从池返回时重置连接后修复连接字符集。最后,MySQLutf8字符集实际上并不是UTF-8,因此请使用utf8mb4.
| 归档时间: |
|
| 查看次数: |
7528 次 |
| 最近记录: |