MYSQL データベースに UTF-8 エンコーディングを使用する場合の問題
1. phpmyadmin を使用してデータベースとデータ テーブルを作成します
データベースを作成する データ テーブルを作成するときは、「組織」を「utf8_general_ci」に設定するか、次のステートメントを実行してください:
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
データ テーブルを作成するとき: フィールドに中国語が格納されている場合は、「」を設定する必要があります。 Organization" to: " utf8_general_ci",
このフィールドに英語または数字が格納されている場合は、デフォルトで問題ありません。
対応する SQL ステートメント (例:
CREATE TABLE `test` ( `id` INT NOT NULL , `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;
2)。PHP を使用してデータベースの読み取りと書き込みを行います。
データベースに接続した後:
$connection = mysql_connect($host_name, $host_user, $host_pass);
2 行を追加します:
mysql_query("set character set 'utf8'");//读库 mysql_query("set names 'utf8'");//写库 //其实读写都可以只加入 mysql_query("set names 'utf8'");
これで、MYSQL データベースを通常どおり読み書きできるようになります。
appserv-win32-2.5.10 を使用して作成された環境では、このパッケージのインストール時にデフォルトの utf8 エンコーディングが使用されます。
データベース接続ファイルを作成するときは、次のように記述します:
$conn = mysql_connect("$host","$user","$password"); mysql_query("SET NAMES 'UTF8'"); mysql_select_db("$database",$conn);
次に、ページを作成するときに、次の文に注意してください:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
このように、中国語入力に関係なく、データベースへの書き込み、またはページの表示はすべて正常です。
DW CS4 バージョンでは、デフォルトで utf8 ページも生成されます。
同様に、最初にデータベース接続ファイルを mysql_query("SET NAMES 'GBK'"); として記述すると、ページもそれに応じて変更されます:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
PHP 関連の知識について詳しくは、
PHP中文网以上がデータベースphpの中国語文字化けの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。