1
/
5

【MySQL】Railsアプリの文字コードと照合順序を変更したよ【utf8 to utf8mb4】

こんにちは!アイキューブドシステムズです。

昨年、弊社のメインプロダクトであるCLOMO MDMにおいて、4バイト文字(絵文字・一部漢字等)への対応を行いました。
正確にはデータベース(MySQL)で使用する文字コードの設定変更で、4バイト文字を含まないUTF-8から4バイト文字を含むUTF-8へのコンバージョンになります。

UTF-8は現代の文字コードの標準であり、あらゆるサービスで様々な言語の文字や絵文字が当たり前に使えるようになっています。
そんな時代に、CLOMO MDMはUTF-8を採用していたにもかかわらず、データベースに保存できるのは3バイトの文字まででした。これは、後述するMySQLに特有の事情のためです。

4バイト文字に含まれる絵文字や漢字には対応しないと決めて、対応文字種を据え置きすることも可能ではあります。
しかし、外部のAPI利用や他社サービスとのデータ連携を提供している場合には、受け取った値を正常に処理できないリスクが生じます。
これは当然望ましいものではなく、CLOMOが対応に踏み切ったのも、主にデータ連携における不便の解消のためでした。

文字コードの変更が与える影響は、扱える文字種の増減だけではありません。
文字列検索やソートの挙動が変化しますので、サービスへの適用を慎重に検討する必要があります。
文字コードの変更がどのような影響をもたらしたか。アプリケーションの文字コード変更にあたってどのような検討が必要だったか。
この記事では、今回の変更で得られた知識を共有させていただきたいと思います。

続きはエンジニアブログで!

【MySQL】Railsアプリの文字コードと照合順序を変更したよ【utf8 to utf8mb4】 - i Cubed Systems Engineering blog
2023年にCLOMO MDMにおいて、4バイト文字(絵文字など)への対応を行いました。 文字コードの変更がどのような影響をもたらしたか。アプリケーションの文字コード変更にあたってどのような検討が必要だったか、この記事では、今回の変更で得られた知識を共有させていただきたいと思います。
https://tech.i3-systems.com/entry/2024/08/01/migrate-utf8-to-utf8mb4-rails


株式会社アイキューブドシステムズでは一緒に働く仲間を募集しています

今週のランキング

アイキューブドシステムズ 採用担当さんにいいねを伝えよう
アイキューブドシステムズ 採用担当さんや会社があなたに興味を持つかも