首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >特殊字符只有在从PHP插入时才能正确显示

特殊字符只有在从PHP插入时才能正确显示
EN

Stack Overflow用户
提问于 2013-08-10 22:06:25
回答 2查看 880关注 0票数 0

我有表Users (带有UTF8字符集和UTF8排序规则),它有lastName列(与表相同的字符集和排序规则)。当我直接从Navicat for MySQL将我的名字(Štěrba)插入到这个表和列中时,它在Navicat中正确显示,但在浏览器中显示得很糟糕(输出文档是UTF8,在mysql_connect()之后,我也使用了SET CHARACTER SET utf8):

但是,当我使用此查询从PHP执行此插入时:

代码语言:javascript
运行
复制
INSERT INTO users (firstName, lastName) values ('Pavel', 'Štěrba');

它在浏览器中显示正确,但在Navicat中它被保存如下:

显然,我不能直接从navicat编辑它,因为我会破坏它.你知道为什么会发生这种事吗?我是不是错过了编码?还是跟Navicat有关?谢谢你的小费!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-10 23:21:35

很有可能你做错了,而不是每个人都使用的工具。

不要通过查询来修改编码设置!使用字符集()

您必须修复数据库中通过PHP获得的所有条目。

请注意,“设置字符集”是错误的,尽管它听起来是正确的。如果您不能使用上面的PHP函数,那么只需使用"SET NAMES utf8“即可!

票数 1
EN

Stack Overflow用户

发布于 2013-08-10 22:09:10

SET NAMES utf8之后也使用SET CHARACTER SET utf8

我希望这能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18166785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档