0

データベースからコンテンツをロードするページがあります。utf-8をそのまま使用するようにページを設定しました

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

データベースの照合を utf8_unicode_ci に設定し、これを使用して mysql からフィールドにアクセスします。

$desc = htmlspecialchars($row['description'],ENT_QUOTES,'UTF-8');

これを行って、スマート クォートと em ダッシュを修正しました。ただし、これらの文字を含むフィールドはすべて空白で返されます。htmlspecialchars 呼び出しで「UTF-8」パラメーターを取り除くと、引用符が必要な場所に疑問符がひし形になった文字だけで全文が取得されます。足りないものはありますか?

4

1 に答える 1

0

空の文字列が返される場合は、データベースのコンテンツに無効なUTF-8文字が含まれている可能性があります。ENT_IGNOREフラグを設定することもできますが、問題のある文字列を使用してバイナリ検索を実行し、問題のある文字が何であるかを正確に把握することをお勧めします。

http://www.php.net/manual/en/function.htmlspecialchars.php。戻り値のセクションを参照してください。

于 2011-10-28T16:25:26.713 に答える