export/import で JA16SJIS のデータベースから JA16SJISTILDE のデータベースへデータ移行を行って問題がないか調べてみた。
以下は机上で検証してみた結果。
結論
補足
- JA16SJISTILDE を利用できるのは Oracle 9i 以降。
- Oracle(8以降)は各エンコーディングと Unicode のマッピングを定義し、各エンコーディング間の変換は Unicode を介して行われる。
- JA16SJISTILDE と JA16SJIS の違い(赤字箇所)
変換方向 | JA16SJIS | JA16SJISTILDE |
---|---|---|
SJIS → Unicode | 0x8160 → U+301C | 0x8160 → U+FF5E |
Unicode → SJIS | U+301C → 0x8160 U+FF5E → 0x8160 |
U+301C → 0x8160 U+FF5E → 0x8160 |
- JA16SJIS のデータベースから export して JA16SJISTILDE のデータベースに import する際のエンコーディングの変換は以下の通り。
- export時は NLS_LANG に ...JA16SJIS を、import時は NLS_LANG に ...JA16SJISTILDE を指定するものとする。
移行元データベース(JA16SJIS) --- 0x8160 ↓ export --- 変換なし ↓ dumpファイル ↓ import --- 0x8160 → U+301C → 0x8160 ↓ 移行先データベース(JA16SJISTILDE) --- 0x8160