我有以下问题: 我有一个窗体,通过GET特殊字符接收。它读取它们,然后用这些字符填充字段。 我的<meta http-equiv="content-type" content="text/html;charset=utf-8" />
插在<head>
的正下方。 所有的东西在FF中都很完美,但是在IE中这些字符已经搞乱了,而我却得到了所有这些符号。 然而,在IE浏览器中,如果我右键单击页面,并在编码下将UTF-8更改为西欧(Windows),则这些字符将正确显示。 我也尝试在我的Apache conf文件中添加AddDefaultCharset Off
,以确保Web服务器不覆盖字符集编码。 奇怪的是,如果在我的代码中,我使用PHP的htmlentities
,那么文本在IE中正确显示,但在FF中错误。UTF 8编码工作在FF但在IE中不工作
除此之外,我用firebug和开发者工具来看看GET数据是如何传递的,看起来在FF中特殊字符被转换为:B6%C3%A4%C3%BC%C3%9F%C3%96%C3%84%C3%9C%20IT%20%C3%A0%C3%A8%C3%AC%C3%B2%C3%B9%20
,但在IT中GET数据显示为àéèâêîôûœïç
。
任何人都可以帮助我吗?它开始变得非常令人沮丧,不能在FF和IE中找到方法。
也许我只是愚蠢的,但例如,在萤火虫我不怎么或在哪里可以看到我的服务器发送的字符集头。我看到的是:Content-Type \t text/html,Transfer-Encoding \t chunked,Accept-Encoding gzip,deflate,Accept-Language \t zh-cn,en; q = 0.5。我在Windows Server 2008上使用Apache 2.2。 – 2012-03-01 10:46:22
@Mihai奇怪,看起来没问题。你可以显示一个实时链接吗? – 2012-03-01 10:49:26
http://emeasmartportal.com/sbso/index-test.php?fname=FRàéèêêôôôôôôôéDEöäßßeÜITàèìòùESñáéíóú&lname = FRàéèâôôôôôôôéDEöäüßÖÄÜITàèìòùESñáéíóú&cid = 1-1Q9-2406&coid = 1-10EXOC&partname = FRàéèâêêîôûœœçDE如果你打开这个链接,fname参数将在FF中正确显示,但是在IE中是错误的(我没有对它进行任何编码/解码)。 lname会在IE中正确显示,但在FF中错误(我正在做GET数据的性能) – 2012-03-01 11:08:35