0

私の制御外にあるアプリケーションによって照会されている PostgreSQL 8.4 データベースがあります。次のようなクエリは警告をスローしていますが、機能しています...

SELECT "tagname","tagindex","tagtype","tagdatatype"  FROM "tagtable" WHERE "tagname" = 'Lift_Stations\07\ETMs\Generator_ETM'

ただし、ステーション 08 と 09 に対する同じクエリは失敗しています...

SELECT "tagname","tagindex","tagtype","tagdatatype"  FROM "tagtable" WHERE "tagname" = 'Lift_Stations\08\ETMs\Generator_ETM'

警告: 文字列リテラルでのエスケープの非標準的な使用 LINE 2: ...,"tagdatatype" FROM "tagtable" WHERE "tagname" = 'Lift_Stat... ^ ヒント: エスケープにはエスケープ文字列構文を使用してください (例: E'\) r\n'.

エラー: エンコーディング "UTF8" の無効なバイト シーケンス: 0x00 ヒント: このエラーは、バイト シーケンスが、"client_encoding" によって制御される、サーバーが予期するエンコーディングと一致しない場合にも発生する可能性があります。

***エラー** *

エラー: エンコーディング "UTF8" の無効なバイト シーケンス: 0x00 SQL 状態: 22021 ヒント: このエラーは、バイト シーケンスが "client_encoding" によって制御される、サーバーが予期するエンコーディングと一致しない場合にも発生する可能性があります。

問題が間違ったエスケープであることは知っていますが、08 と 09 だけが機能していないという事実を考えると、誰かがこれを回避する方法について明るいアイデアを持っていることを願っています.

ありがとう!

4

1 に答える 1

2

有効にするstandard_conforming_stringsと動作するはずです。

于 2013-07-10T23:45:22.863 に答える