[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 メーリングリストの案内