ホームページ  >  記事  >  データベース  >  mysqlクエリの文字セットの不一致問題の詳細な説明

mysqlクエリの文字セットの不一致問題の詳細な説明

小云云
小云云オリジナル
2017-12-22 14:42:461864ブラウズ

この記事では、主に 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 MySQL 接続文字セットを設定する方法

MySQL 文字セットと校正順序の使用方法のチュートリアル

以上がmysqlクエリの文字セットの不一致問題の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。