0

私のクライアントは小さな新聞社で、「ストレートな」引用ではなくタイポグラファーの引用を使って記事を提供しています。ストーリーは PHP によって HTML にアセンブルされます。私の Apache サーバーでは問題なく表示されますが、クライアントのサイトがある Yahoo ではすべて疑問符に置き換えられます。

この問題を解決するために、PHP で次の関数を作成しました。

function fixquotes($text)
{
    $text = str_replace('’','’',$text);
    $text = str_replace('”','”',$text);
    $text = str_replace('“','“',$text);
    return $text;
};

上記の関数では、タイポグラファーの引用を検索して、同等の HTML に置き換えています。私のローカル Apache サーバーでは、うまく機能します。Yahoo では、すべての誤字脱字は最初にリストされたもの (上記: ') に変換されます。

私のサーバーでは魔法の引用符がオフになっていますが、Yahoo ではオンになっています。これが私の問題の原因かどうかはわかりませんが、可能性はあります。

私は PHP の一重引用符と二重引用符で囲まれた文字列の違いを十分に認識しており、上記の両方の方法を試しても違いはありませんでした。

誰かが私が調べるべき提案された方向性を持っていますか?

4

1 に答える 1

1

これはおそらく、Yahoo の Web サーバーの文字セットの問題か、データベースに保存されている場合はデータベースの問題です。

firebug (または同様のもの) を取り出し、開発ボックスの HTTP ヘッダーとライブ サイトを確認します。header()php の関数を使用してヘッダーを強制したい場合があります。

于 2010-09-18T03:58:27.320 に答える