私のデータベースでは、照合順序はもともとutf8_general_ci でした。しかし、ソート精度を向上させるためにutf8_unicode_ciが必要であることに気付きました。
したがって、phpmyadminを使用してすべてのデータベースをエクスポートし、エクスポートされたSQLファイルに「COLLATION」という単語が表示されないことを確認しました(バイナリに設定されている1つのテーブルで2回だけを除く)ので、通常、このスクリプトは照合にとらわれず、インポート時に特定の照合順序を使用しますが、データベースのデフォルトを使用します。
すべてのテーブルを削除した後、データベースの照合順序が utf8_unicode_ci に変更され、インポート スクリプトが phpmyadmin から実行されました。しかし、その結果、すべてのテーブルとすべての列がutf8_general_ci照合で再び表示されます (そして、並べ替えは正しくありません)。どうして??そして、それを変えるために何をすべきか?
PS エクスポート/インポート スクリプトには、先頭にコメント行が含まれています。
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
インポート中に影響があるかどうかはわかりませんが、mysql コンソールを開いた後、コマンドshow variables like 'collation_connection'
は COLLATION_CONNECTION を cp852_general_ci として表示します。ただし、phpmyadmin->variables では、変数 'collation_connection' がutf8_general_ciに設定されています。しかし、それを変更する方法はありません。