ホームページ  >  記事  >  データベース  >  centOS7でmysqlに漢字を挿入する際のエラーの解決方法

centOS7でmysqlに漢字を挿入する際のエラーの解決方法

PHPz
PHPz転載
2023-05-31 20:49:041258ブラウズ

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

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。