MySQL でのクエリ文字セットの不一致の問題の解決

黄舟
リリース: 2017-08-09 14:18:20
オリジナル
1667 人が閲覧しました

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

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