プロが教えるわが家の防犯対策術!

クライアント:WindowsXPSP2 / Access2003
サーバ:VineLinux2.6 / Oracle9i

クライアントから更新クエリを使用してサーバでデータの書き換えをしているのですが、そのときに
「高」「崎」「柳」という文字をレコードに入れると、とあるシステムでデータを表示させたときに「□」になって表示されてしまいます。
そのシステムは、以前から「高」etcを表示させても問題なく表示できてました。
何かAccess or Oracle側であるのでしょうか?
ご存知の方がいらっしゃいましたらお教えください。

A 回答 (1件)

OracleとWindowsとのSJISとUnicode間の変換を行う時のUnicodeの対応が異なるために発生しるのではと思いますが・・。


Unicodeに対応するのにOracleには A16SJISTILDE JA16EUCTILDE がありますよね。
クライアント側でレジストリキー
HKEY_LOCAL_MACHIN\SOFTWARE\ORACLE\HOMEx 値の名前 NLS_LANG の値をJAPANESE_JAPAN.JA16SJISTILDEなどにすると解消されると思います。
データベースのCHARACTER SETはJA16SJISTILDE、JA16EUCTILDEになっていますでしょうか。
CHARACTER SETをJA16SJISTILDE、NLS_LANGはサーバもクライアントもJAPANESE_JAPAN.JA16SJISTILDEにすれば文字化けは防げると思います。
    • good
    • 0
この回答へのお礼

返事が遅くなりました。
ありがとうございます、試してみます。

お礼日時:2006/02/05 23:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す