MySQLのutf8は4バイト文字が使用できない

フォローする

MySQLのutf8では4バイト文字を扱う事がでないため、土+口で表される𠮷(つちよし)などの環境依存文字を扱う事ができません。
そのため「データベース データ登録(Store in Database)」ステップなどでMySQLに4バイト文字を格納しようとすると下記のエラーが出力され「データベース データ登録(Store in Database)」ステップが失敗します。

 

<エラーサンプル>

データベース データ登録 アクションによるエラーが発生しました。データベースに値を保存できません。Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.0.v20170811-d680af5): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Incorrect string value: …
Error Code: 1366
Call: INSERT INTO …

 

本事象を回避するためにはMySQLで4バイト文字の使用を避けるか、MySQLの文字コードをutf8からutf8mb4に変更して4バイト文字を使用できるようにする必要があります。

※MySQLの設定はサポート対象外となります。予めご了承下さい。

なお、utf8mb4を使用する際の懸念点については下記外部サイトを参照してください。

 

参考外部サイト

10.1.11 以前の Unicode サポートから現在の Unicode サポートへのアップグレード

0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

ログインしてコメントを残してください。