当前位置: 首页 > 面试题库 >

UTF-8编码的html页面显示-(问号)而不是字符

何涵忍
2023-03-14
问题内容

我在win7(x64)上安装了标准XAMPP。在过去的项目中遇到了编码方面的麻烦,其中mysql编码与php enconding不匹配,而php
enconding有时又以其他编码形式输出html,因此,我决定始终使用utf-8对所有内容进行编码。

我刚刚开始使用html标记,并且已经遇到了麻烦。

  • 我的页面是使用utf-8保存的( 我认为 没有BOM )
    // update:事实并非如此。 该文件实际使用保存ISO_8859-1。由于Sherm
    Pendleys的回答,我后来发现了这一点。我必须返回并将项目设置(设置为“ ISO-8859-1”)更改为所需的“ UTF-8”。

  • 通过.htaccess将php设置为在utf-8中提供.php页面,其中包括: AddCharset UTF-8 .php

  • html具有指定以下内容的元标记: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  • 为了测试我设置使用PHP header('Content-Type:text/html; charset=UTF-8');

该页面是UTF-8(Firefox和Chrome承认它是这样的),但任何特殊字符,如明显送达éá¡将只显示为。在查看源代码时也是如此。

当拖放以上所有字符提到的正确呈现的编码的设置,但为检测显示任一编码windows-1252ISO-8859-1取决于浏览器。

怎么来的?我很困惑 我本来期望完全相反的行为。
欢迎任何意见,谢谢!

编辑:希望这可以帮助更多。这是响应头(根据firebug)

HTTP/1.1 200 OK
Date: Sat, 26 Mar 2011 20:49:44 GMT
Server: Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.1
Content-Length: 91
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

问题答案:

当[删除]上面提到的编码设置时,所有字符都会正确显示,但是根据浏览器的不同,检测到的编码将显示windows-1252或ISO-8859-1。

那就是您真正发送的内容。项目符号列表中的任何编码设置都不会以任何方式实际修改您的输出;他们所做的只是告诉浏览器在解释您发送的内容时采用哪种编码。这就是为什么要获取这些-
您是在告诉浏览器您要发送的是UTF-8,但实际上是ISO-8859-1。



 类似资料:
  • 如果有人知道是怎么回事,请帮忙。我已经尝试了我在互联网上找到的所有东西,但到目前为止都无济于事。出于某种原因,在idea中启动项目时,页面上显示的是问号而不是俄语字母 我已经尝试过: > 我确保windows控制台以866响应chcp请求,我读到最好设置此值 同样在区域标准设置中,在选项卡中,我还单击了“更改系统语言”按钮,然后取消选中“测试版:使用 Unicode (UTF-8) 支持全球语言”

  • 问题内容: 由于不确定的原因,我有一个旧版应用程序开始表现异常。它生成一堆HTML,由ActivePDF转换为PDF报告。 该过程如下所示: 从数据库中提取带有替换标记的HTML模板(例如,“〜CompanyName〜”,“〜CustomerName〜”等) 用真实数据替换令牌 使用简单的正则表达式函数对HTML进行整理,该函数可对HTML标签属性值进行格式设置(确保引号等,因为ActivePDF

  • 我正在为一位位于巴西的客户开发一个网站。他的网站的一部分显示了用户的反馈/评论。 以下是一个例子: 正确版本: “这是我的一分钟!” 当我向用户输出时,显示如下内容: 不正确的版本: “这是我的一分钟!” 我将这些评论保存到mySQL数据库(Hostgator),并将数据库排序规则设置为“utf8\U unicode\U ci”。 在超文本标记语言的顶部,我声明了以下内容: 我使用Laravel

  • 问题内容: 我已经阅读了一段时间的Unicode和UTF-8编码,并且我想我理解了,所以希望这不会是一个愚蠢的问题: 我有一个文件,其中包含一些CJK字符,并且已另存为UTF-8。我安装了各种亚洲语言包,并且其他应用程序可以正确显示这些字符,因此我知道可以做很多工作。 在我的Java应用程序中,我读取文件的方式如下: 输出将CJK字符显示为’???’。进行呼叫以确认它肯定是在使用UTF-8。我缺少

  • 本文向大家介绍php页面,mysql数据库转utf-8乱码,utf-8编码问题总结,包括了php页面,mysql数据库转utf-8乱码,utf-8编码问题总结的使用技巧和注意事项,需要的朋友参考一下 示例一: PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑

  • 有人能提出一些解决办法吗?