charset utf-8不显示é,á,,í或ú

时间:2016-02-29 13:36:49

标签: php html5 utf-8 character-encoding iso-8859-1

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

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

时的角色
<meta charset="utf-8">

但是当我使用

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

正确显示字符。

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

  

错误:元素元素属性charset的值不正确ISO-8859-1:   ISO-8859-1

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

此致

火车

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

2 个答案:

答案 0 :(得分:1)

好的,我想我现在有了答案。感谢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验证。

非常感谢你的帮助。

火车

答案 1 :(得分:-1)

您正在寻找通常被描述为“HTML实体”的特殊字符。具体来说,您正在寻找ISO-8859-1 HTML实体。您可以在不放弃UTF-8编码的情况下显示这些字符。

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

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

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

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

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

有关更多符号,您可以找到非常完整的参考here