なんか久しぶりに書く気がする。
タイトル通り。サロゲとか外字の文字を文字コード指定でDBに入れたい時用。
MySQL(MariaDB)
insert testchar values ('外字',CHAR(0xEE8080 USING utf8mb4)); insert testchar values ('サロゲ',CHAR(0xF0A08083 USING utf8mb4));
サロゲを表現する場合、普通にIMEとかで見ると、「0xD840 , 0xDC03」って見えるけどこれを合わせた形式にする。
SELECT HEX(CONVERT(CHAR(0xD840DC03 USING utf16) USING utf8mb4));
上で出てきたコードをchar()に指定すればサロゲ文字が出る。あと、エンコード指定でutf8mb4を指定しないとダメ。サロゲ対応用の文字コードらし。
PostgreSQL
insert into testchar values('外字',chr('xE000' :: bit(16) :: int)); insert into testchar values('サロゲ','𠀃');--文字コード指定がわからん。
サロゲの文字コード指定が分かりませんでした。ごめんなさい。今度調べよ。