在.Net中使用nihbernate时,mysql中存储的汉字不正确

在.Net中使用nihbernate时,mysql中存储的汉字不正确,mysql,database,utf-8,character-encoding,special-characters,Mysql,Database,Utf 8,Character Encoding,Special Characters,我正在尝试储存汉字(指事字 通过网络表单。但mysql数据库将它们存储为类似这样的内容“?”zhishìzì 值类型为NVarChar 字符集是utf8 mysql版本是5.1.52-community 我在stackoverflow上看到过类似的问题。但是找不到答案。我自己找到了答案。问题是连接字符串 以前是这样的 <property name="connection.connection_string">Server=xxxxx;Database=xxxxx;User ID=

我正在尝试储存汉字(指事字 通过网络表单。但mysql数据库将它们存储为类似这样的内容“?”zhishìzì

  • 值类型为NVarChar
  • 字符集是utf8
  • mysql版本是5.1.52-community

我在stackoverflow上看到过类似的问题。但是找不到答案。

我自己找到了答案。问题是连接字符串

以前是这样的

<property name="connection.connection_string">Server=xxxxx;Database=xxxxx;User ID=xxx;Password=xxxx;Port=xxx</property>
Server=xxxxx;数据库=xxxxx;用户ID=xxx;密码=xxxx;端口=xxx
我向它添加了“CharSet=utf8”,它可以工作:)

Server=xxxxx;数据库=xxxx;用户ID=xxx;密码=xxxxx;端口=xxxx;字符集=utf8

谢谢你的帮助

mySql没有nvarchar…哪个工具向您显示错误的数据以及它到底是什么样子的?如果您在问题中包含代码,您可能会得到更多有用的答案。表单数据在插入数据库之前是如何处理的?用于插入数据的查询是什么?数据库、表和数据库字段的结构和配置是什么?您可以编辑问题,添加尽可能多的有用信息。如果您直接在database Workbench v4.03中运行查询会怎么样?我花了整整3天的时间来解决这个问题…转储、导出、导入更新新数据库更改mysql、使用linux ubuntu..编辑CNF文件,还有很多事情。。。但没想到它能像你提供的解决方案那样简单。。。非常感谢+10000喜欢这个,当然需要设置校对,但没有这个解决方案是无用的。。
<property name="connection.connection_string">Server=xxxxx;Database=xxxx;User ID=xxx;Password=xxxxx;Port=xxxx;CharSet=utf8</property>