我知道之前有人问过这件事。但是我已经用尽了我能找到的答案中给出的选项,所以我会再次提出问题,希望有些事情我忽略了。
首先,我的文件是UTF8编码的,我的XML标头(我使用的是XHTML)将页面声明为UTF8。
其次,连接数据库后我做的第一件事就是发送查询“SET NAMES utf8”。
我还执行了这句话:“SHOW VARIABLES LIKE'character_set%'”并将所有这些变量设置为utf8。
我已经在每个涉及的表上执行了SHOW CREATE TABLE table_name,并确保它们的字符集是utf8。
当我查看数据库中的值时,它看起来像UTF8编码,代码以&开头。这感觉不对,我不知道他们为什么这样存放。我确实尝试用PHP的utf8_decode在我的页面上回显它们,但这不起作用。
我还能做些什么?
(如果标题中的问题不明确,äå和ö等字符在浏览器中无法正常显示。)
答案 0 :(得分:1)
行。这是一个PHP问题,正如所建议的那样,它源于我错误地使用htmlentities而不是htmlspecialchars。使用这些功能和utf8字符时要洁净! htmlspecialchars是你可能想要的。
答案 1 :(得分:0)
你试过吗
header('Content-Type: text/html; charset=utf-8');
?
答案 2 :(得分:0)
当你向数据库插入东西时,通过utf8_decode()
运行它,当你从数据库中取出结果时,通过utf8_encode()
运行它。
还要确保在浏览器编码设置中选择了UTF-8编码或自动检测。