0

私の前の質問からの分岐。

私の CMS (CQ5) では、ASCII エンコーディングで入力された値を取得しています。入力されたこれらの文字列の一部に特殊文字 (つまり - copyright ) が含まれている場合があり、PHP で出力すると、文字列の前に®奇妙な文字 が挿入されます。Â

UTF-8 にエンコードする方法を調べましたが、うまくいきませんでした。私は次のことを試しました:

//$title is the CMS input that contains special characters
$strA = iconv('ASCII', 'UTF-8//IGNORE', $title);
$strB = mb_convert_encoding($title, "UTF-8");
$strC = utf8_encode($title);
4

1 に答える 1

1

文字列に著作権記号が含まれている場合、それらは ASCII ではありません!

それらはすでに UTF-8 か、ISO-8859-1 のようなものです。文字列の実際のバイト エンコーディングを調べることで、どれがどれであるかを判断できる場合があります。

また、CMS が適切な HTML 文字セット タグを生成することを確認して、ユーザーのブラウザがどの文字セットが使用されているかを認識できるようにする必要があります。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
</head>

このÂ文字は、UTF-8 を送信したことを受信者に伝えていないために発生する一般的なアーティファクトです。

于 2013-03-02T21:49:55.653 に答える