eudc モジュールは、外字領域の文字コード変換をサポートしたエンコーディングです。 シフトSJIS (SJIS) や EUC_JP と、UTF-8 の変換において、外字領域の変換を追加します。 絵文字等の外字を扱う必要があり、かつクライアント・アプリケーションとデータベースで異なる文字コードを使う場合に有用です。 eudc を導入すると、以下の相互変換が可能になります。
エンコード 1 | エンコード 2 | 特記事項 |
---|---|---|
UTF-8 E000 - E757 |
SJIS F040 - F9FF |
利用可能なコード領域を線形に対応 |
UTF-8 E000 - E3AB, E3AC - E757 |
EUC_JP F5A1 - FEFE, 8FF5A1 - 8FFEFE |
利用可能なコード領域を線形に対応 |
SJIS F040 - F9FF |
EUC_JP F5A1 - FEFE, 8FF5A1 - 8FFEFE |
eudc を導入しなくても変換可能 |
UTF-8 と SJIS とのマッピングは Windows での外字のマッピングと一致させています。
単純な線形マッピングを行いますので、例えば字形に合わせた独自にマッピングが必要な場合には対応できません。 外字の単純な保存、検索、取得で十分な場合にご利用ください。
eudc character found: f040 in SJIS to UTF8 conversion
これらのパラメータは postgresql.conf で指定することもできますが、その際には custom_variable_classes
にも 'eudc' を追加する必要があります。
設定例を以下に示します。
# postgresql.conf custom_variable_classes = 'eudc' # list of custom variable class names eudc.fallback_character = '〓' # すべての EUDC はゲタに変換する eudc.log_level = warning