[pgsql-jp: 31921] Re: 日本語データがINSERT できない

Keiji Mitsubuchi keiji @ nwco.com
2004年 1月 7日 (水) 17:43:55 JST


三淵@NWCです。

>
> > と言うことは、PHPのプログラムは
> > SJISで書いているのではないでしょうか?
> ご指摘の通り、PHPのプログラムはSJISで記述していましたので、
>  (プログラムそのものの文字コードも気をつけないと
>   いけないのですね、勉強になりました)
> それをEUC-JPで書き直し、再度試してみましたところ、
>
> 今度はDBに登録されたデータが、
> EUC-JPをSJISで変換した状態の文字
>  (研磨剤製品 → クヲヒ蘯゛タスノハ)
>  (文字化けするかもしれないので全角カナにしてあります、実際は半角カナ)
> となってINSERTされてしまっています。

psqlで、データを確認したらと言うことでしょうか?
それとも、PHPで吐き出したデータを
ブラウザーで見たときでしょうか?

ちなみに、PHPは、EUC-JPに変更したとのことですが
HTMLのMeta等charset の設定も変えましたでしょうか?

> 先の発言にも書いていますがPHP,PostgresSQLの文字コードは
> EUC-JPとしていると思うのですが・・・
>
> ここはPostgreSQLのMLなので気が引けるのですが
> 一応php.iniのmbstringのところを以下に載せておきます。
>
> [mbstring]
> mbstring.internal_encoding = EUC-JP
> mbstring.http_input = auto
> mbstring.http_output = EUC-JP
> mbstring.detect_order = auto
> mbstring.substitute_character = none;
>
> どなたかご助力いただけると有りがたいです。
>
> 完全にPHP側が問題ということでしたら、
> そちらのほうに質問を移動しますのでご指摘ください。


確かに、PHPの問題かもしれません
まずは、PHPのコード変換で
色々なコードに変換してテストしてみてはいかがでしょう?
仕組みがもう少し見えてくると思います。

mbstring.language = Japanese
mbstring.encoding_translation = On
がないかも、無くてもいいのな?

ご参考まで。




pgsql-jp メーリングリストの案内