[pgsql-jp: 31385] 「表」が文字列の最後にある場合エラー

Hiroshi Ishiura issy777 @ entrance-e.com
2003年 10月 31日 (金) 12:19:41 JST


石浦です。
SQLで「表」の字が最後に入っている文字列の場合
Warning: pg_exec(): Query failed: ERROR: parser: parse error at or near "〜
発表" at character 112〜〜
とエラーが起きてしまいます。

今は表のあとに半角スペースか全角スペースをいれて回避してるのですが。。
addslashesはいれてます。
$title1=addslashes("発表"); ×
$title1=addslashes("発表 "); ○

$title1=addslashes($title1);
$detail=addslashes(detail);
insert into kiji(title1,detail) values ('$title1','detail');

環境は、
PHP-4.3.2
magic_quotes_gpc Off
mbstring.detect_order auto
mbstring.encoding_translation On
mbstring.func_overload 0
mbstring.http_input auto
mbstring.http_output SJIS
mbstring.internal_encoding SJIS
mbstring.language Japanese
mbstring.script_encoding no value
mbstring.substitute_character no value 

ソースはSJISで書いており、
$result = pg_exec($connect,"SET CLIENT_ENCODING TO 'SJIS';");
にてPostgresとのコード変換をしています。

EUCで書けばこういう問題はおきないかと思いますが今からソースをEUCに
全部変更するのは厳しい状況で。。

対応策があれば教えていただけないでしょうか。
よろしくお願いします。




pgsql-jp メーリングリストの案内