プロが教える店舗&オフィスのセキュリティ対策術

PostgreSQLのinsert処理でエラーが発生します。
最初に作ったDBではうまくいっていたのですが、AccessからODBC接続した際に日本語の項目が文字化けしていたため、文字コードの問題かと思い、文字コードを「EUC_JP」で指定したDBとテーブルを作り直し、再度実行してみたところ、「PostgreSQL query failed: ERROR: Invalid EUC_JP character sequence found (0x8365)」というエラーが発生し、insert処理が実行されませんでした。insertする項目をバラけさせて確認したところ、日本語の内容の部分でエラーが発生していました。
Accessの文字化けの件と併せて調べていますが、原因が今ひとつ分かりません。どなたか回答よろしくお願いします。

A 回答 (2件)

登録するデータをEUC_JPに変換して試してください。


mb_detect_encoding()
mb_convert_encoding()

この回答への補足

回答ありがとうございます。
本日試して見ましたが、やはり同じエラーが出てしまい、処理が実行されませんでした。以下、修正した部分です。
mb_convert_encoding("項目名","EUC-JP");
この処理を、日本語が入力される項目の変数ごとに行ってみたのですが、全く同じエラーが出てしまいます。
関数の使い方が間違っているのでしょうか?

補足日時:2006/06/19 11:58
    • good
    • 0

「文字コードがEUC-JPじゃないよ!」ってエラーですね



mb_convert_encoding()でも駄目ということですので・・・

# SET CLIENT_ENCODING TO 'SJIS';
# INSERT INTO table VALUES(・・・)

という風に投げるとどうなりますか?



ODBCの件ですが、ODBCドライバのバージョンを上げると直る場合もありますよ。
    • good
    • 0

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