我有一个奇怪的UTF8编码问题,我不明白。 如果我的一个朋友在我的网页上填写表格,那么所有德语“变形金刚”(ä,ü,ö)都会显示在我数据库中的奇怪字符中。当我这样做时,它们会正常显示,应该如何显示。一切都设置为utf8_general_ci,所以它应该工作。但是,当我的朋友填写表格时,它没有。
有人对我提出建议吗?
谢谢!
答案 0 :(得分:2)
即使所有表都是UTF-8,数据库连接也可能使用latin-1。在MySQL中使用SHOW VARIABLES LIKE '%character%';
获得了什么输出?有拉丁-1的迹象吗?如果是这样,请调整MySQL配置文件中的charset settings。
答案 1 :(得分:2)
您尚未指定编写应用程序的语言,而且似乎是基于连接的问题。您必须手动设置连接编码,例如。在JDBC中,通过附加在连接字符串的末尾“?characterEncoding = utf8”
答案 2 :(得分:0)
在连接
后立即在mysql上运行SET NAMES utf8