我的客户是一份小报纸,用印刷师的报价而非“直接”报价提供故事。这些故事由PHP组装成HTML。在我的Apache服务器上,它们显示正常,但在我的客户网站所在的Yahoo上,它们都被问号所取代。
为了解决这个问题,我在PHP中编写了以下函数:
function fixquotes($text)
{
$text = str_replace('’','’',$text);
$text = str_replace('”','”',$text);
$text = str_replace('“','“',$text);
return $text;
};
在上面的函数中,我正在搜索typographer的引号以用HTML等价替换它们。在我的本地Apache服务器上,它运行良好。在Yahoo上,所有拼写错误引用都会转换为列出的第一个(上图:')。
在我的服务器上,魔术引用已关闭,但雅虎已将其打开。我不确定这是否是我的问题的原因,但它是可能的。
我非常清楚PHP中的单引号和双引号字符串之间的区别,并且甚至尝试了上述两种方式并没有区别,所以让我们不要重新开始。
有没有人有建议的方向让我调查?
答案 0 :(得分:1)
如果这些东西存储在数据库中,这可能是雅虎网络服务器或数据库中的字符集问题。
拉出firebug(或类似的),然后查看开发框和实时网站上的HTTP标头。您可能希望使用php的header()
函数强制标题。