>我有一个数据库,存储访问者输入的一些不寻常的字符:例如é,á,í和ú。
我的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 编码。
要显示"é",请使用é
或é
要显示"á",请使用á
或á
要显示"í",请使用í
或í
要显示"ú",请使用ú
或ú
在每种情况下,您都用&...;
代替字母,包括分号。所以要写"泡芙"这个词,你会用éclair
。
有关更多符号,您可以在此处找到非常完整的参考。