普通にRedmineを使っているとUTF8の4Byte文字が入力できない事に気付く
「𩸽」「🍠」「🍣」とか、軒並み入力できない件の対応
「𩸽」「🍠」「🍣」とか、軒並み入力できない
正確には入力できるんだけど、保存後の表示とかがおかしくなった
原因は、Mariadb(MySQL)の設定文字コードが、「latin1」とかいうよく解らない文字コードになっているから
Mariadb(MySQL)にログインした後、以下のSQLを実行することで、現状の文字コードが確認できる
> show variables like 'char%';
よっしゃ、そしたらutf8にしたるわ。。。と思っても1つ落とし穴がある。
Mariadb(MySQL)には、 utf8 という設定値と utf8mb4 という設定値の両方があり、4Byte文字を格納するためには、 utf8mb4 に設定しなければならない。
対策は、現状のDB文字コード設定を変更して、かつ、現状使用しているテーブルの文字コードも変更するということをしないといけない。
詳細は、以下を参照。
ALMInium - MariaDB(MySQL)の文字コードをutf8mb4にする
以下を参照して実施しました。ありがとうございます大変助かりました。
Dig that groovy! - Redmine構築後のDBの文字コードをutf8mb4に変換して絵文字に対応する
http://zappy.hatenablog.jp/entry/2015/05/19/015044
コメント