人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

LinuxにインストールしたpostgreSQLをpsqlODBC ANSIを介してVB6から使用しています。

postgreSQLバージョン:8.3.7
databaseのエンコード:EUC-JP
psqlODBCバージョン:8.03.04.00

現在あるテーブルのあるカラムHOGEにvarchar(200)を指定しています。
ここにVB6で作成されたアプリケーションよりインサートを実行したときの、以下の減少について質問です。

postgreSQLのvarchar(n)の「n」は、文字数の意味であり、「あああ」も「aaa」も同じく「3」と判定される認識です。
ところが、HOGE列に対し「ああああ・・・(200文字)」をインサートすると失敗してしまいます。
psqlODBC Unicode版を使用するとインサートに成功します。

半角の「aaaa・・・(200文字)」のインストールには成功します。おそらくマルチバイト文字1つで2文字とカウントされているようです。

参考ページなどありましたら教えてください。あ

●質問者: poti0
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● mass3

ちょっと、バージョンが違うみたいだけど、参考になると思います。

ここ(http://www.ne.jp/asahi/inocchichichi/entrance/psqlodbc/index.html)に、

以下のように書いてあります。

You don't have to set any client encoding in case of Unicode driver.

If you have to handle a multibyte encoding using ANSI driver, tell the client_encoding to

the driver by specifying the client encoding per DSN.

Please set the Connect Settings options like

set client_encoding to 'XXXX'

あとは、ソースコードを。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ