我遇到了特殊字符被插入并正确显示的问题。它是一个ASP.NET 3.5应用程序(C#),数据库是MySql。显示/插入特殊字符的问题,MySql ASP.NET
如果我尝试使用控制台应用程序在数据库中插入一个特殊字符,我收到一个错误,说'错误的字符串值:'\ x81 etc'。如果我尝试显示它们,则会显示例如ü而不是ü。
它可以在我的本地机器上运行,唯一的区别是我可以找到(并且很可能是问题的根源),collation_server在我的机器上设置为latin1_swedish_ci,在dev服务器上设置为utf8_general_ci,而character_set_server在latin1上我的机器,在开发服务器上的utf8。 (其他所有设置都是在两台机器上都是utf8)
我以为utf8是最好用的,所以现在我不确定是否应该将dev服务器更改为与本地计算机相同,即使用拉丁语,或更改我的本地计算机与开发服务器相同,并寻找解决问题的另一种解决方案?有什么想法吗?
感谢,
Annelie
你能公关请提及有问题的行的十六进制转储('SELECT HEX(column)FROM table')? – NullUserException 2010-08-16 13:54:47
@NullUserException - 426164656E2D57C3BC727474656D62657267是Baden-Württemberg的十六进制。 – annelie 2010-08-16 14:00:43
好消息是,它在数据库中正确存储为UTF-8。 – NullUserException 2010-08-16 14:13:07