
こんにちわ、よろしくお願いします。
OS:WindowsXP
PostgreSQL:8.4.0
DBの文字コードはUTF8で構築しています。
【現象】
文字型のカラムに¥を含んだ文字列を挿入しようとすると以下のエラーになります。
WARNING: nonstandard use of escape in a string literal at character 331
SQL実行中に以下のエラーが発生しました。
ERROR: invalid byte sequence for encoding "UTF8": 0x00
エラーとなるのは例えば「C:\temp\hoge.txt」といった文字列です。
ただし、
「C:/temp/hoge.txt」
「C:\\temp\\hoge.txt」
とした場合は正常に挿入が出来ます。
8.1.11で同じプログラムを動かしているときは問題なく動作していました。
PostgreSQLを最新の8.4.0にバージョンアップしたところ上記のエラーが発生するようになりました。
エンコードの問題かと思い
Postgresql.confのclient_encodingを色々設定してみましたが、解決しませんでした。
解決法が見当たらず困っています。
よろしくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
\(バックスラッシュ) は制御文字です。
SQL文の中で特殊な文字コードを表現するために使われます。
たとえば、\n なら改行を意味します。
今回の場合、
ERROR: invalid byte sequence for encoding "UTF8": 0x00
とのことなので、SQL文の中に "\0" のような文字が
含まれているのではないでしょうか?
文字として扱いたいなら、必ず"\\"とエスケープする必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
Oracle 8i コンマ(,)を含むデ...
-
PostgreSqlでFunctionの作成に...
-
複数の表の外部結合について
-
GROUP BYでエラーが発生
-
LIkEで漢字一文字検索でエラー
-
ACCESS2000ディスクまたはネッ...
-
何も表示されない実行時エラー...
-
エクセルマクロで指定範囲内の...
-
エラー:823 重大度:24 状態...
-
SQLServerが存在しないか、アク...
-
オブジェクト名 '<table>' が無...
-
バッチファイルからのBCP起動に...
-
Access から SQLserver に接続...
-
WHERE句の?
-
DBに接続する時のオープンとク...
-
バッチでのSQL実行結果の分岐処...
-
Excel-VBAの「しばらくお待ちく...
-
ユーザー定義関数内でのsp_exec...
-
SQLCMDにて教えていただきたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
Oracle 8i コンマ(,)を含むデ...
-
PostgreSqlでFunctionの作成に...
-
GROUP BYでエラーが発生
-
Access2000環境に対応するMid関...
-
sqlで文字列を最後に追加したい
-
何も表示されない実行時エラー...
-
バッチファイルからのBCP起動に...
-
ACCESS ADOでupdateが効かない
-
ACCESS2000ディスクまたはネッ...
-
オブジェクト名 '<table>' が無...
-
エクセルのグループボックス枠...
-
エクセルマクロで指定範囲内の...
-
VB6より長文INSERT文でORA1756...
-
SQLServerが存在しないか、アク...
-
エクセルからSQLサーバー ...
-
ACCESSで作成したアプリケーシ...
-
SQLServer・ストアドプロシージ...
-
クエリの存在チェック
-
分散トランザクションを開始で...
おすすめ情報