我在win7(x64)上安装了标准的XAMPP.在过去的项目中我遇到了编码麻烦,其中mysql编码与php enconding不匹配,后者有时在其他编码中输出html,我决定使用utf-8对所有内容进行编码.
我刚刚开始使用html标记,而且我已经遇到了麻烦.
ISO_8859-1.我后来发现这一点归功于Sherm Pendleys的回答.我不得不返回并将我的项目设置(设置为"ISO-8859-1")更改为所需的"UTF-8".AddCharset UTF-8 .php<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />header('Content-Type:text/html; charset=UTF-8');该页面显然是在utf-8(firefox和chrome识别它)中提供的,但是任何特殊字符,例如é,á或者¡只是显示为?.在查看源代码时也是如此.
删除上述编码设置时,所有字符都会正确呈现,但检测到的编码会显示windows-1252或ISO-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
Run Code Online (Sandbox Code Playgroud)