WaveDash問題について、備忘録として残しておく。
OracleでDBに「~(チルダ)」を格納し、Select文で取得すると「?」に文字化ける
割と有名な問題点、Oracleをインストールするときに設定漏れに注意。
環境変数をNLS_LANG = JAPANESE_JAPAN.JA16SJISTILDEにしておく。
ODBC, oo4oなど内部で一旦Unicodeに変換するミドルウェアにおいて、「~」という文字に対するSJISの波ダッシュ(0x8160)とUnicode波ダッシュ(U+301C:Wave dash)
のマッピング(全角チルダ(U+FF5E:Fullwidth Tilde)に割り当てている)がOracleとMicrosoftの間で異なっているのが原因です。
Oracleの覚え書き ~ の文字化けの話
http://shodai.hp.infoseek.co.jp/oracle/oracle.html#20050105
アプリケーション設計と開発時のガイドライン
http://www.shift-the-oracle.com/guidlines.html
ついでにこれも・・・
半角の丸括弧「)」がパス(フォルダ、ファイル名)に含まれてるとOracle接続が出来ない
http://blog.yaju.jp/200703/article_8.html