我在html中将页面编码设置为utf-8:
meta http-equiv =“content-type”content =“application / xhtml + xml; charset = UTF-8”
在HTTP标题中,我有:
Content-Type text / html;字符集= UTF-8
为什么无法正确显示é?
由于
更新: 数据包含'é'从互联网抓取,抓取工具是用Microsoft .Net编写的。 我使用Mysql .Net Connector来连接mysql。
显示'é'的页面是用PHP编写的。
答案 0 :(得分:9)
您需要添加更多信息,但�
通常是被视为UTF-8的数据中ISO-8859-1字符的符号。
来自
声称为UTF-8但实际保存为ISO-8859-1 / Windows-8252的源文件 - 在编辑器或IDE中检查文件编码
使用ISO-8859-1的数据库连接,即使数据库表是UTF-8
答案 1 :(得分:2)
最可能的解释是该页面使用UTF-8进行 编码,因此当浏览器尝试解码文本时,它使用错误的编码进行编码。
相匹配答案 2 :(得分:1)
确保您的文件开头没有BOM (byte order mark)。我最近遇到了这个问题,即使文件保存为utf8(多次检查),BOM也混淆了firefox并错误地显示了变音符号(我将html <meta>
标签设置为正确的编码和http标头)< / p>
答案 3 :(得分:1)
有同样的问题,即使使用html设置charset = UTF-8 只需使用记事本和File-SaveAs打开html页面,编码为UTF-8 重新加载页面,它应该没问题。
燕姿
答案 4 :(得分:0)
如果您实际使用htmlentities()
,则可以解码一段特定的代码,例如
htmlentities($string, $flags, $charset);
这将对字符串进行编码。 使用$ flags,您可以在某种程度上决定要编码的内容。
此功能可用于防止sql注入
尽管此参数在技术上是可选的,但是如果您使用的是PHP 5.5或更早版本,或者如果给定输入的default_charset
配置选项设置不正确,则强烈建议您为代码指定正确的值。
编辑:来源htmlspecialchars