MySQLで中国語など4バイト文字を使いたいとき

MySQLで中国語が入ったデータを扱うことがあったのでメモ。
中国語以外にも特殊文字や一部の日本語の漢字、絵文字なども関係があるみたい。
単純にUTF-8の設定だけだとデータの表示がおかしくなる。

いろいろと調べてみると、同じUTF-8でも4バイトの文字があるのが原因らしい。
4バイトのUTF-8を扱うには「utf8mb4」という文字コード設定をすれば大丈夫みたい。
utf8mb4の照合順序は「utf8mb4_general_ci」になる。

人にアドバイスを貰ったときはUTF-16にすれば大丈夫じゃないか、と言われていたが
なぜかそっちの設定をしようとすると、エラーが出て起動もままならなかった。

ちなみに、この設定ができるのは5.5.3以降らしい。


あと、tera termなどでMySQLへアクセスしていたりすると、ターミナルソフトの表示側の問題で正しく文字が見れないこともあるので注意。