正从textareas插入,并在空白处开始进入MySQL表。
我在页面的头部有<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
进行插入。我没有遇到同一MySQL安装上的其他数据库/表的这个问题,并且这些设置为latin1_swedish_ci的默认排序规则。
我可以在MySQL连接建立后用mysql_query("SET NAMES 'utf8'");
解决问题,但是我想知道为什么会发生这种情况,尽管将表设置为utf-8并且在页面中将字符集设置为utf-8
答案 0 :(得分:1)
您需要使用utf8
正确初始化连接,除非您能以某种方式设置默认值,这意味着SET NAMES
是强制性的。
如果您使用的某些基于20世纪90年代样式的基于mysql_query
的应用程序可以在代码库中的随机点打开和关闭连接,而没有任何适当的框架,那么您可能很难跟踪这些内容。
答案 1 :(得分:0)
你的php / html文件应该有utf-8编码。你的mysql数据库和table / s以及整理utf-8。但是,您可以尝试从您的php文件中进行测试插入,而不是使用提交的html-form-data来查看它是否是php或html / form / browser问题。
答案 2 :(得分:0)
之前我没有注意到,但textareas包含
删除修复了该问题,我不需要使用mysql_query("SET NAMES 'utf8'");