1

phpMyAdmin にテーブルを設定しました。文字セットなどは変更していません。新しい行にテキストを挿入し、その行を SELECT して PHP で出力しようとすると、ÆØÅ の文字が ��� と表示されますが、phpMyAdmin でフィールドを編集しようとすると、文字が正しく表示されます。phpMyAdmin が正しく行うのに何が間違っていますか?

4

3 に答える 3

5

PHP ファイルがすでに UTF-8 でエンコードされている場合は、UTF-8 が必要であることをデータベースに伝える必要があります。MySQL の構成をいじる代わりに、接続オブジェクトに期待する文字セットを指定するだけで、あとはデータベースが処理してくれます。

これは、mysqli 接続オブジェクトの例です。

$db = new mysqli($dbHost, $dbUser, $dbPw, $dbName);
$db->set_charset("utf8");

その後、クエリは UTF-8 でエンコードされた結果を返します。

于 2012-06-17T19:48:25.870 に答える
0
SET NAMES 'charset_name'

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

于 2012-06-17T18:32:58.907 に答える
0

最初に、ブラウザの文字セットが間違っているのか、それとも mysql なのかを判断する必要があります。ブラウザの文字セットを utf8 に交換するか、すでに iso-8859 になっている場合は交換してみてください。

それでも解決しない場合は、次のようにしてクエリの文字セットを変更してみてください

SET CHARACTER SET charsetname;
于 2012-06-17T18:34:43.153 に答える