1

MySQL 4.1 サーバー上に古いデータベースがあり、データベースにはユーザーが入力したコンテンツが含まれています。このデータベースを新しい MySQL 5 サーバーにコピーしました。コンテンツが印刷されているページを表示すると、黒いひし形の文字に疑問符が表示されます。真ん中に目印。これは、新しいサーバーでのみ表示されます。

このヘッダーをページに追加すると、ひし形は表示されなくなります。

header('Content-Type: text/html; charset=iso-8859-1');

そのヘッダーを取り出すと、サーバーは以下のようなデフォルトのヘッダーを送信し、ひし形が再表示されます

コンテンツ タイプ: テキスト/html; 文字セット=UTF8

このヘッダーをすべてのページに配置する必要がないように、データベースでこれを解決するにはどうすればよいですか (たとえば、テーブルでの何らかの変換)。

詳細: mysqldump を使用して古いサーバーからデータベースをエクスポートし、CentOS mysql コマンド ラインを使用してインポートしました。phpMyAdmin を使用してエクスポートも試みましたが、結果は同じです。

編集:

mysqldump ファイルを見ると、すべての CREATE TABLE ステートメントに charset = Latin1 が含まれていることがわかります。そのため、私が探しているのは、データベースを代わりに UTF8 でエクスポートする方法だと思います。このオプションを mysqldump に追加しようとしましたが、何の効果もありませんでした。ダンプにはまだ Latin1 が表示されています。

--default-character-set=utf8

4

3 に答える 3

5

データベースに接続した後、文字セットを設定してみてください。

mysql_set_charset("utf8");
于 2012-10-18T14:36:50.997 に答える
1

mysql データベースに接続した後、以下のクエリを使用します。

mysql_query("SET NAMES utf8");

この助けを願っています!

于 2012-10-18T14:39:27.737 に答える