サロゲートペア文字

フロントエンドAccess2016バックエンドmysql5.7の
DBアプリで「通称つちよし」という漢字を入力保存するとフリーズ
はて?何年か前もそういう漢字に遭遇したような・・
mysqlはuft8でだいたいの環境依存文字は問題ないはず。
Google先生に聞いてみると
土の下に口、で通称つちよし サロゲートペア文字というらしい
一文字で4バイトあり、スマホの絵文字と同じ。
つまり絵文字が入らないならこの字も入らない。
uft8は3バイト文字までしか格納できない。
uft8mb4にすれば良いらしい。
mysqlの文字コード、参照を変更
テーブルも変更して入力すると・・エラー
コンソールからinsertすると文字表示はできないけど
query OK 
でもAccessからは入力できない。

そういえば検索してもうまくいってるのはweb系ばかり
ということはODBC周りが変換できないのかな?

どうしてもできないのでサロゲート文字をトラップしたら
2バイトずつコード化してmysqlに格納
Accessにはコードで持ってきて変換することにした。

サロゲートペア文字のコードは2バイトずつ
上の句、下の句で構成されていて
それぞれサロゲートという領域のコードらしい。
2日ほど悩んでました。

この掲示板も表示できない