我遇到插入和正确显示特殊字符的问题。它是一个ASP.NET 3.5应用程序(C#),数据库是MySql。
如果我尝试使用控制台应用程序将特殊字符插入数据库,我会收到一条错误,说“错误的字符串值:'\ x81 etc'。如果我尝试显示它们,则会显示例如Ã而不是ü。
它可以在我的本地机器上工作,我能找到的唯一区别(很可能是问题的根源)是collation_server在我的机器上设置为latin1_swedish_ci,在dev服务器上设置为utf8_general_ci,而character_set_server在我的机器上设置为latin1机器,开发服务器上的utf8。 (其他所有机器都设置为utf8。)
我认为utf8是最好用的,所以现在我不确定我是否应该将开发服务器更改为与我的本地机器相同,即使用拉丁语,或者将本地机器更改为与开发服务器相同,并寻找另一个问题的解决方案?有什么想法吗?
谢谢,
Annelie
答案 0 :(得分:3)
按如下方式设置连接字符串:
"server=<server>;port=<port>;database=<db>;uid=<uid>;pwd=<password>;charset=utf8;"
示例:
"server=localhost;port=3306;database=mydb;uid=root;pwd=root;charset=utf8;"
(将charset=utf8
添加到其中)