php が中国語データをデータベース テーブルに書き込めない問題の解決策: 1. mysql で使用される文字セットを utf8 に変更します; 2. php ファイルのエンコードに使用される文字セットを utf-8 に変更します; 3 . フロントページの変更 使用する文字コードがutf-8に変更されます。
#この記事の動作環境: Windows10 システム、php 7&&mysql 5.0、thinkpad t480 コンピューター。
PHP を学習する過程で、中国語データをデータ テーブルに挿入できず、フロントエンド Web ページがデータベースから取得した中国語データを正しく表示できない状況に遭遇することがあります。この問題が発生した場合は、mysql で使用される文字セットを utf8 に変更し、PHP ファイルのエンコードに使用される文字セットを utf-8 に変更し、フロントエンド Web ページで使用される文字エンコードを utf-8 に変更する必要があります。問題が解決できるように。
具体的な手順は次のとおりです:
1. MySQL インストール ディレクトリで MySQLInstanceConfig.exe を実行し、デフォルトのエンコーディングを utf8 に設定します;
「最良」を選択することを忘れないでください。 「Support For Multilingualism」を選択し、同時に下のドロップダウンリストから「utf8」を選択します。
設定が完了したら、my.ini ファイルの「default-character-set」の設定を確認してください。 MySQL インストール パスの下にあります。この時点では utf8 に設定する必要があります。そうでない場合は、default-character-set=utf8
2.1 に設定します。データベースの作成時に utf8 エンコーディングを指定します:
CREATE DATABASE database_name
CHARACTER SET “utf8”
COLLATE “utf8_general_ci”;
ログイン後にコピー
2.2 データ テーブルの作成時に utf8 エンコーディングを指定します:
CREATE TABLE table_name
(
Column_name datatype,
......
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
ログイン後にコピー
3. ファイル エンコーディングを utf-8 に設定します;
PhpStorm を使用している場合、デフォルトのファイル エンコーディングは utf-8 です。変更する必要はありません
4. 使用するページを設定します 文字セットは utf-8 です:
5. データを操作する前に、まず mysql_query('set names を実行する必要があります) utf8'); 操作を実行し、データに対してクエリ、更新、挿入などを実行します。
6. 最後に、クライアントのソース データで使用される文字セットとクエリ結果の文字セットを gbk に設定します:
SETcharacter_set_client =gbk; //MySQL コマンド ラインから中国語を直接挿入します。 client データを保存するとき、データは文字化けしません
SET Character_set_results =gbk; //MySQL コマンドライン クライアントから返される中国語データは文字化けしません
PS: 上記の内容はMySQL Server 5.0 の場合、MySQL Server 5.6 では、使用されるデフォルトの文字エンコーディングは utf8
推奨学習:
php training
以上がPHP が中国語データをデータベース テーブルに書き込めない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。