0

ut8文字の有無にかかわらず機能するテキストをクリアする関数を書いています。

私はこのようなテキストを取得し続けます。

Coventry Salary - �25,000 - �35,000 

しかし、この関数を使用すると、�は削除されますが、他の関数は残ります。

誰かがテキストをきれいにする関数を書いたかどうか知りたいです。

function convertHTMLSpecialChars ( $str='' ) 
{
    $str = htmlspecialchars ( $str );
    $str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
    $str = htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
    return $str;
}
4

2 に答える 2

1

この関数:

$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));

;triesから文字セットを検出するだけです。$str$ strにutf8文字が含まれていることがわかった場合、「utf8」が返されるため、関数は実際には次のようになります。

$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');

これはあまり役に立ちません..私の意見では、文字列の文字セットを手作業で指定する必要があります。たとえば、トルコ語の場合:iso-8859-5ギリシャ語の場合:iso-8859-7など。

于 2012-06-05T12:25:31.213 に答える
1

サーバーがページをUTF-8として出力することを確認してください。

次を使用して強制できます。

header ('Content-type: text/html; charset=utf-8');
于 2012-06-05T12:24:36.877 に答える