[pgsql-jp: 31394] Re: 「表」が文字列の最後にある場合エラー
Hiroshi Ishiura
issy777 @ entrance-e.com
2003年 10月 31日 (金) 16:42:59 JST
石浦です。
> 大場です。
>
> #ほとんどPHPのMLで話すような内容ですね
>
> In message "[pgsql-jp: 31385] 「表」が文字列の最後にある場合エラー",
> Hiroshi Ishiura wrote,
>
> >SQLで「表」の字が最後に入っている文字列の場合
> >Warning: pg_exec(): Query failed: ERROR: parser: parse error at or near "〜
> >発表" at character 112〜〜
> >とエラーが起きてしまいます。
>
> おそらく「\」問題でしょう、多分。
はい。
>
> >環境は、
> >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
>
> #WindowsだったらSJISでもいいのかもしれないけど
> #質問にOSが何か書いてないんだけど…
すいません。Redhat7.2でlinuxです。
>
> サーバがLinuxやFreeBSDだったら、
> 普通「mbstring.internal_encoding EUC-JP」でしょう。
> それにスクリプトにSJIS使うなら
> それが可能になったバージョンのPHPを使って
> それなりの設定でコンパイルして
> 「mbstring.script_encoding」も設定しないと
> 普通は使えないでしょう。
>
> #たまたま、問題の無い文字だけだったから
> #正常に動いてるように見えるだけでは?
>
>
> >EUCで書けばこういう問題はおきないかと思いますが今からソースをEUCに
> >全部変更するのは厳しい状況で。。
>
> 文字コードの変換だったら
> nkfかqkcで一発変換できそうだけど…
nkfとかで変換してもいいのですが、METAタグとかで全部文字コードを指定
したりしてるので、変更するならDreamweaverなりで一気に変更します。
>
> でもEUCにしたって、今の設定の
> 「mbstring.internal_encoding SJIS」でまともに動くかな?
>
> じゃなかったら、SJISスクリプトをつかうために
> できるようになった最近のバージョンのPHPで
>
> #多分4.3.2は可能になったバージョンだと思うけど
>
> それなりのオプション付けた./configureとコンパイルして
> PHPを入れ替えて、適合するようなphp.iniの設定をしたら
> SJISなスクリプトもおそらく問題なく使えるはずです。
mbstring.script_encodingなど設定をかえてみたんですが、あまり変化ありませ
んでした。
とりあえずご指摘のとおりSJISだと何かと問題がでてくるのでタイミングを見計
らってEUCに変換しようと思います。
ありがとうございました。
>
> が、静的なWebコンテンツがSJISでもいいのは、
> htmlの解釈はブラウザがやってるからで
> (サーバは単なる置き場と思えば)
> まぁ、unix系のOS上でプログラム的に何かしようとすると
> SJISはロクなことはないのは事前に調べたら分かるので
> 使わないことが一番です。
>
> ------------------------------------------------
> Name: 大場正志(Masashi Ohba)
> E-mail: ohba @ imr.tohoku.ac.jp
> 東北大学 金属材料研究所
--
Hiroshi Ishiura <issy777 @ entrance-e.com>
pgsql-jp メーリングリストの案内