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

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


大垣です。

おお外しのようです。
再現するデータの一部、スキーマ、短いスクリプトをPostしていただければ、
私の環境で試して見ますがどうでしょうか?

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

> 大垣です。
> 私も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以外の例も見た記憶がありません。
>
> どうでしょうか?