繁体   English   中英

使用MySQL时出现UTF8问题

[英]UTF8 problems when using MySQL

我知道这已经被问过了。 但是我已经穷尽了我可以找到的答案中给出的选项,因此我将再次询问,希望有一些我被忽略的事情。

首先,我的文件是UTF8编码的,而我的XML标头(我正在使用XHTML)将页面声明为UTF8。

其次,连接数据库后,我要做的第一件事是发送查询“ SET NAMES utf8”。

我还执行了以下语句:“ SHOW VARIABLES LIKE'character_set%'”,并将所有这些变量设置为utf8。

我已经在涉及的每个表上执行了SHOW CREATE TABLE table_name,并且确保它们的字符集是utf8。

当我查看数据库中的值时,它看起来像是UTF8编码,其代码以&开头。 这感觉不对,我不知道为什么要这样存储它们。 我确实尝试过用PHP的utf8_decode在页面上回显它们,但这没有用。

我还能做什么?

(如果标题中我的问题不清楚,则äå和ö等字符在浏览器中无法正确显示。)

好。 正如建议的那样,这是一个PHP问题,它是由于我对htmlentities而不是htmlspecialchars的错误使用而产生的。 使用这些功能和utf8字符时要当心! htmlspecialchars是您可能想要的一种。

你有没有尝试过

header('Content-Type: text/html; charset=utf-8');

当您将内容插入数据库时​​,请通过utf8_decode()运行它;当您将结果从数据库中取出时,请通过utf8_encode()运行它。

还要确保在浏览器编码设置中选择了UTF-8编码或自动检测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM