mysql をインストールした後、データベース abc を作成し、新しい abc テーブルを作成しました。英語の挿入には問題ありませんが、中国語の挿入に問題があります。エラーが報告されます:
エラー 1366 (hy000): 不正な文字列値: '\xe4\xbd\x99\xe9\x93\xb6...'
これはデータベース エンコーディングの問題であるはずなので、データベース エンコーディングを変更する必要があります
ここには 2 つの方法があります。 1 つはコードを直接設定する方法で、もう 1 つは centos7 で /usr/my.cnf ファイルを変更する方法です。
最初の方法:
データベースをリストするエンコーディング テーブル
mysql> show variables like '%char%';
エンコーディング形式を変更します:
mysql> set character_set_database=utf8; mysql> set character_set_server=utf8;
etc
character_set_filesystem とcharacter_sets_dir の元のデフォルト値を変更せずにそのままにし、他のすべてを utf8 に変更します
次に、最初に作成したデータベースを削除して新しいデータベースを作成し、中国語の文字を挿入するテーブルを作成します。 。 。
2 番目の方法: centos7 でファイル /usr/my.cnf を変更し、
構成ファイルを開きます:
vi /etc/my 。 cnf;
次の内容をそれぞれ [mysqld]、[mysql]、および [client] に追加します
[mysqld] character_set_server = utf8 [mysql] default-character-set=utf8 [client] default-character-set=utf8
備考:
ファイル編集用のショートカット キー:
編集モードに入る edit
i
編集モードを終了
esc
ファイルを保存して
:wq
以上がcentOS7でmysqlに漢字を挿入する際のエラーの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。