我有一个PHP文件具有以下文本:
<div class="small_italic">This is what you´ll use</div>
在一个服务器上,它显示为:
This is what you´ll use
另一方面,如:
This is what you�ll use
为什么会有区别,可以做些什么来使其正常显示(作为撇号)?
注意所有(以备将来参考)
我实现了Gordon / Gumbo的建议,除了我在服务器级别而不是应用程序级别上实现.请注意:(a)我不得不重新启动apache服务器,更重要的是(b)我不得不使用正确的编码替换现有的“坏数据”.
/etc/PHP.ini中
default_charset =“iso-8859-1”
您必须确保,内容将以正确的字符集提供:
<?PHP header("Content-Type: text/html; charset=[your charset]"); ?>
或 – 如果HTTP字符集头不存在 – 将<META>
element插入< head>
<Meta http-equiv="Content-Type" content="text/html; charset=[your charset]" />
像属性名称一样,http-equiv等同于HTTP响应头,用户代理应该使用它们,以防相应的HTTP头不被设置.
EDIT1:像Hannes一样,在对问题的评论中已经建议,您可以查看网络服务器返回的标题,以查看其服务的编码.两台服务器之间可能存在差异.因此,将[您的字符集]部分更改为“工作”服务器.
EDIT2更详细的解释为什么,see Gumbo’s answer.