1

StackOverFlow を検索したところ、同様の質問が見つかりましたが、私の特定の状況に答えるものは何もなかったので、これを新しい質問として質問することを考えました。

テキストボックスからデータベースにエントリを挿入するときは、mysql_real_escape_string(); を使用します。そして、情報を表示するときに htmlspecialchars(); を使用します。

文字セットとして UTF-8 を使用します。HTML5 フォーマットを使用しています。データベースの照合はデフォルトでlatin1_swedish_ciに設定されていたので、それを使用しました。すべてのテーブルで、latin1_swedish_ci に設定されています。テーブル内のすべてのフィールドに対して、utf8_general_ci を使用します。

例として、これが表示されたときの外観です。

   �Who are you?� he asked his iPhone. �I am a humble 
   personal assistant,� the device replied, bringing the biggest...

これを修正するにはどうすればよいですか?

4

1 に答える 1

4

問題は照合設定です。データベース、テーブル、およびテキスト フィールドの utf8 のいずれか (utf8_general_ci など) であることを確認してください。

さらに、接続文字セットも UTF-8 に設定していることを確認してください。

SET NAMES utf8;
于 2012-04-28T22:13:40.337 に答える