1

私はこれにしばらく取り組んできましたが、提供された解決策の多くを試しましたが、役に立ちませんでした。

phpadmin では、変数はutf8_unicode_ci.

次のヘッダーを持つ単純なクエリ:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<meta http-equiv="Content-Language" content="ja" />

疑問符を出力します。

意味不明なテキスト

mysql_query("SET NAMES utf8"); クエリの直前に行を追加すると、 goobledy gook (mojibake) が表示されます。

ここに画像の説明を入力

どんな助けでも大歓迎です。

4

1 に答える 1

1

MySQL接続エンコーディングを、ページで使用するのと同じエンコーディングに設定する必要があります。サーバーは検出した結果をこのエンコーディングに変換するため、データが実際にどのように格納されているかを気にする必要はありません。

接続を UTF-8 に設定すると mojibake が生成されるため、ページには異なるエンコーディングが必要です。SJISかな?ここでは、MySQL がサポートする CJK エンコーディングを確認できます: http://dev.mysql.com/doc/refman/5.5/en/charset-asian-sets.html

エンディングを設定する好ましい方法は、 を使用することmysql_set_charsetです。実行SET NAMESは、UTF-8 などの ASCII に基づくエンコーディングでは機能しますが、sjis などの他のエンコーディングでは機能しません。例えば:

mysql_set_charset('cp932');

mysqlまた、新しいプログラムでライブラリを使用しないでください。これは推奨されておらず、ある時点で PHP から削除される予定です。

于 2013-03-26T06:54:10.820 に答える