PostgreSQL でとあるDBへODBC接続していたのですが、
データにある文字をが含まれていると下記のエラーが出ました。
(グローバル系のDBだったのでドイツ語が含まれててその文字が引っ掛かるみたい)
character with byte sequence 0xc2 0xb2 in encoding "UTF8" has no equivalent in encoding "SJIS"
不思議なことにローカル環境で同じSQL文を実行するとエラーもなく実行され、結果が表示されるのです。
ODBC接続のときだけエラーが出る。
ってことはODBCまわりが怪しいんでないの?
ってずーっと思ってたけど、よくわからないから目をつぶって、長~い間フタしてました。
でもこの問題を解決しないと先に進まないことになり頑張りましたよw
単純にドライバリストの部分で 「PostgreSQL Unicode」 を選択してやればこのエラーはでなくなりました。
そもそもANSIとUnicodeの違いを理解していません(汗)
そんな自分ですがPosgres使用歴は長いです・・・
なぜか今までは何の疑問も抱かずANSI版を使ってました。
これを機に「postgresql ansi unicode 違い」でググってみました。
そしたらUnicode版を使った方がいいぜ的なことが書かれているじゃありませんか ((((;゚Д゚))))ガクガクブルブル
やばい。
これから気を付けよう
PR
COMMENT