文字コードがらみの調べ物をしていたときのメモを転記しておきます。Oracle 10gをキャラクタセット「JA16SJISTILDE」で設定し、そこにVB.NETから変な文字(笑)を突っ込んだ時に文字がどう化けるかの実験結果です。全角やら半角やらって用語についてはとりあえず目をつぶってください。わかりやすさ優先です。
SJISに無い文字をSJIS設定のOracleに入れた結果
- UTF-16のサロゲートペア文字「ほっけ」… 全角「?」2文字。
- JIS2004追加文字、森鴎外の「おう」(クチが3つの方)… 全角「?」1文字
- UTF-16、コード「20AC」(半角ユーロ記号)… 全角「?」1文字
ちなみになぜ化けるかというと、Shift-JISに対応する文字が無いからです。
このあたりについては、Oracleが公開しているセミナー資料にも記載されています。
- 【セミナー資料】Oracle文字化け対策 Windows 7もバッチリ!
- https://blogs.oracle.com/oracle4engineer/entry/oracle_windows_7
資料はPDF。その29ページに化ける場合の例が出ています。
.NETのエンコーダーだとどうなるか?
参考までに……。.NET Frameworkが持つエンコーダーで文字変換してみた場合、上記の文字は半角の「?」(コード"3F")に化けました。
このあたりにセンシティブなシステムを組む場合には、事前に十分な下調べが必要と考えます。
プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
- 作者: 矢野啓介
- 出版社/メーカー: 技術評論社
- 発売日: 2010/02/18
- メディア: 単行本(ソフトカバー)
- 購入: 34人 クリック: 578回
- この商品を含むブログ (129件) を見る
図解入門よくわかる最新ファイル形式と文字コードの基本と仕組み (How‐nual Visual Guide Book)
- 作者: 若林宏
- 出版社/メーカー: 秀和システム
- 発売日: 2003/01/10
- メディア: 単行本
- 購入: 1人 クリック: 34回
- この商品を含むブログ (1件) を見る