我有表Users
(带有UTF8字符集和 utf8_general_ci 排序规则),其中包含lastName
列(与表格相同的字符集和排序规则)。当我直接从 Navicat for MySQL 将我的名字(Štěrba)插入到这个表和列中时,它在Navicat中正确显示,但在浏览器中显示得很糟糕(输出文档是UTF8,在mysql_connect()
之后我也是使用SET CHARACTER SET utf8
):
但是当我这样做时,使用此查询从PHP插入:
INSERT INTO users (firstName, lastName) values ('Pavel', 'Štěrba');
它在浏览器中正确显示,但在Navicat中它保存如下:
显然,我不能直接从navicat编辑它,因为我会打破它...你有任何想法,为什么会这样?我错过了编码吗?或者是Navicat的问题?感谢您的提示!
答案 0 :(得分:1)
机会很高你做错了,而不是每个人都使用的工具。
不要通过查询摆弄编码设置!使用mysql_set_charset()。
您必须通过PHP修复数据库中的所有条目。
请注意" SET CHARACTER SET"是错的,虽然这听起来是正确的。如果你不能使用上面的PHP函数,你应该做的就是使用" SET NAMES utf8"只有!
答案 1 :(得分:0)
在SET NAMES utf8
SET CHARACTER SET utf8
我希望这个帮助