[pgpool-general-jp: 28] Re: エスケープ文字の扱い
ISHIDA Akio
iakio @ mono-space.net
2006年 11月 11日 (土) 21:34:58 JST
こんにちは。石田@苫小牧市です。
私が勘違いしているかもしれませんが、
シングルクォートで囲まれた文字列リテラル内のバックスラッシュを
二重にする必要があるのは、
pgpool ともマルチバイトとも関係無く、PostgreSQL では
(現在のバージョンでは)常に必要なのではないでしょうか。
文字コード変換でエラーが出なかったとしても、
正しい結果になりません。
ishida=# select '\a';
?column?
----------
a
(1 row)
ishida=# select '\\a';
?column?
----------
\a
(1 row)
06/11/11 に koyama<mlus @ hintmark.com> さんは書きました:
> xeon-koyamaです。
>
> 以下の環境で、'\' 文字の扱いで質問させてください。
>
> Windowsクライアント----pgpool------postgres8.1.4
> (MS932) (UTF-8)
>
> INSERT INTO テーブル VALUES('これは\問題の文字');
>
> を行った場合、UTF-8 へのコンバート時に、障害が発生しています。
>
> 対象文字が分かっているので、WindowsクライアントのSQL作成時に、
> INSERT INTO テーブル VALUES('これは\\問題の文字');
>
> とすれば良いだけなのですが、本来、この作業は
>
> 1 Postgresのドライバーがやってくれるものなのでしょうか?
>
> 2 それとも、DBがUTF-8で作成されているのが分かっているのだから、
> クライアント側で、\\変換したものを作成すべきなのでしょうか?
> 3 pgpoolの段階で、問題がある のでしょうか?
>
> 判断ができないので、質問させて頂きました。
> 宜しくお願い致します。
>
>
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
>
--
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
pgpool-general-jp メーリングリストの案内