データベーステーブルを確認したところ、latin1_swedish_ci
にあることがわかりました。そのため、utf8_general_ci
に変更し、すべてのフィールドの照合順序をlatin1_swedish_ci
からutf8_general_ci
に変更しました。
それでも同じエラーが発生します。
演算 '='の照合(utf8_general_ci、IMPLICIT)と(utf8_unicode_ci、IMPLICIT)の不正な組み合わせ
おかげで、
答えは簡単です。 MKJ ^^で述べられている変更を逃したようですが、テーブルを変更する実際の構文は次のようになります。
alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;
個別のスクリプトとして適用するか、create tableステートメントの最後に、関連するすべてのテーブルを同じ文字セットに関連付けることができるはずです。
COLLATE utf8_unicode_ci
このように、クエリの最後に追加します。
SELECT * FROM table COLLATE utf8_unicode_ci;