ホームページ > バックエンド開発 > PHPの問題 > データベースphpの中国語文字化け

データベースphpの中国語文字化け

藏色散人
リリース: 2023-02-27 15:18:01
オリジナル
2170 人が閲覧しました

データベースphpの中国語文字化け

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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート