[PHP-users 2147] Re: SJIS->EUC bug ?

Yasuo Ohgaki php-users@php.gr.jp
Tue, 18 Sep 2001 18:16:36 +0900


大垣です。
私もPostgreSQLを使っているので気になり試して見ました。

> で、当館で運用しておりますWeb蔵書検索において、書名に
> 「箱」(EUC:C8A2) 、「柊」(EUC:C9A2)、「國」(EUC:D4A2)を
> 指定しますと、pg_execが正常終了しないと言う現象が起きています。
> # ごらんの通り、2バイト目がA2のヤツがおかしい。

もしかして以下のようなSQL文をPostgreSQLに渡していませんか?
$sql = 'SELECT * FROM some_table WHERE some_field = "箱"';

Warning: PostgreSQL query failed: ERROR: Attribute '箱' not found in
/home/yohgaki/public_html/test/bug/moji-bake/test.php on line 8

$sql = "SELECT * FROM some_table WHERE some_field = '箱'";
としないとエラーになります。

PostgreSQLの文字列はSingle Quoteで囲む物と思っていたのでDouble Quoteは
今まで使った事が無かったので私はこのようなエラーを今まで経験したことが
ありませんでした。Single Quote以外の例も見た記憶がありません。

どうでしょうか?

--
Ohgaki, Yasuo (大垣 靖男) 
Mail: yohgaki@dd.iij4u.or.jp