我有一个数据库,用于存储访问者输入的一些不寻常的字符:例如é,á,,í和ú。
我的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)我不明白答案似乎针对的是比我更深入的知识的人
答案 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编码的情况下显示这些字符。
要显示“é”,请使用é
或é
要显示“á”,请使用á
或á
要显示“í”,请使用í
或í
要显示“ú”,请使用ú
或ú
在每种情况下,您都要写&...;
代替字母,包括分号。所以要写“éclair”这个词,你会使用éclair
。
有关更多符号,您可以找到非常完整的参考here。