字符集 UTF-8 不显示 é、á、、í 或 ú


charset utf-8 does not display é, á, , í , or ú

>我有一个数据库,存储访问者输入的一些不寻常的字符:例如é,á,í和ú。

我的html 5网页显示?而不是我使用时的字符

<meta charset="utf-8">

但是当我使用

<meta charset="ISO-8859-1">

字符显示正确。

但是,当我指定后一个字符集时,W3C 验证器会弹出一条错误消息:

错误:

元素元上的属性字符集的值 ISO-8859-1 错误: ISO-8859-1

有没有办法让字符正确显示并获得 W3C 验证,还是我期望太多?

问候

衣服

建议的"已经回答"问题不适用,因为:1)我的php版本是5.4,而不是5.5(2)我不明白答案似乎针对比我有更深入知识的人。

好的,我想我现在有答案了。感谢 deceze 指出我:http://kunststube.net/frontback/

我首先检查了数据库,字段设置为排序规则; utf8_general_ci,我认为这是正确的。

我现在有:

<meta charset="utf-8">

在页面顶部,dbase 连接现在是:

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname; charset=utf8;", $username, $password);

在其中添加字符集似乎已经解决了问题,字符现在可以正确显示,而页面通过 W3C 验证。

非常感谢您的帮助。

衣服

您正在寻找通常被描述为"HTML 实体"的特殊字符。具体来说,您正在寻找ISO-8859-1 HTML实体。您可以像这样显示这些字符中的每一个,而无需放弃 UTF-8 编码。

要显示"é",请使用&#233;&eacute;

要显示"á",请使用&#225;&aacute;

要显示"í",请使用&#237;&iacute;

要显示"ú",请使用&#250;&uacute;

在每种情况下,您都用&...;代替字母,包括分号。所以要写"泡芙"这个词,你会用&eacute;clair

有关更多符号,您可以在此处找到非常完整的参考。