この記事では、主に mysql クエリ文字セットの不一致の問題の解決策をサンプル コードを通じて詳しく紹介します。この問題に遭遇した友人にとっては、確かな参考と学習価値があります。お友達の皆さん、ぜひ編集者をフォローして一緒に学んでください。
問題が見つかりました
最近、MySQL データベースがテーブルを作成するときにラテン文字セットが使用され、Web ページで中国語を入力するとクエリが utf-8 になるという問題が発生しました。入力ページを開き、データベースでクエリを実行するとエラーER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
が報告されるため、スタックオーバーフローでこのデータベースとデータテーブルの文字セットを変更する方法を見つけました。
SET collation_connection = 'utf8_general_ci'
注: 次の 2 つの文をデータベース名とデータ テーブル名に置き換えてください
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
これにより、データベースも utf-8 文字セットであることが保証されます。中国語で入力するときにデータベース内のコンテンツをクエリするときにエラーが発生します。
参考: 不正な照合順序の組み合わせ MySQL エラー
PHP でデータベースの文字セットを utf-8 に設定します
mysqli_set_charset($dbc,'utf8');
html に utf-8 を示すメタを追加するだけです
<meta charset="utf-8">
概要
以上がMySQL でのクエリ文字セットの不一致の問題の解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。