首页 文章

为什么我的页面无法显示é,而是显示 ?

提问于
浏览
2

我在html中将页面编码设置为utf-8:

meta http-equiv =“content-type”content =“application / xhtml xml; charset = UTF-8”

在HTTP Headers 中,我有:

Content-Type text / html;字符集= UTF-8

为什么不能正确显示é?

谢谢

更新:数据包含'é'从互联网抓取,爬虫是用Microsoft .Net编写的 . 我使用Mysql .Net Connector来连接mysql .

显示'é'的页面用PHP编写 .

5 回答

  • 1

    您需要添加更多信息,但 通常是被视为UTF-8的数据中ISO-8859-1字符的符号 .

    它来自

    • 声称为UTF-8但实际保存为ISO-8859-1 / Windows-8252的源文件 - 在编辑器或IDE中检查文件编码

    • 即使数据库表是UTF-8,也使用ISO-8859-1的数据库连接

  • 8

    最可能的解释是该页面不使用UTF-8进行编码,因此当浏览器尝试解码文本时,它使用错误的编码进行编码 .

    您需要确保actual document encodingclaimed encoding匹配

  • 2

    确保您的文件开头没有BOM (byte order mark) . 我最近有这个问题,即使文件保存为utf8(多次检查),BOM混淆了firefox并且错误地显示了变音符号(我将html <meta> 标签设置为正确的编码和http标头)

  • 1

    有同样的问题,即使使用html设置charset = UTF-8只需用记事本打开html页面,使用编码UTF-8的File-SaveAs重新加载页面,它应该没问题 .

    燕姿

  • 0

    如果您实际使用 htmlentities() ,您可以解码特定的代码片段

    htmlentities($string, $flags, $charset);
    

    这将编码字符串 . 使用$ flags,您可以在某种程度上决定要编码的内容 .

    此函数可用于防止sql注入

    尽管此参数在技术上是可选的,但如果您使用的是PHP 5.5或更早版本,或者如果您的 default_charset 配置选项可能针对给定输入设置不正确,则强烈建议您为代码指定正确的值 .

    编辑:来源htmlspecialchars

相关问题