[PHP-users 9430] Re: 文字encord 設定

php-users@php.gr.jp php-users@php.gr.jp
Wed, 21 Aug 2002 18:30:04 +0900


三村様 こんにちは。

> tyunn> ◆疑問点2
> tyunn> HTMLを文字コードShift-JISで作成し、phpのスクリプトファイルを作成し
> tyunn> HTMLのMETAタグで言語、エンコードはそれぞれ "ja" 、 Shift-JIS
> tyunn> とした場合、テーブルから取得した値をecho関数でブラウザに表示させる
と文字化け
> tyunn> を
> tyunn> おこします。PostgresのエンコードはEUC。
> tyunn> このような処理は不適切でしょうか?
>
> 特に不適切ではありません。
> ですがPHPのコードの中に直接HTMLをSJISで書いていると問題があります。
> それからPostgreSQLからもってくる時のencodingはEUCになってると
> 思います。これを出力の時にSJISにしてやるか、client_encodingの設定を
> SJISにしてやるのも一つの手です。
> つまり、この文字化けはEUCをSJISで表示しようとしている問題だと思うんです
が。
> 入口と出口で、encodingが何になっているか意識をすれば、
> 簡単に解決できる問題だと思います。

  上記(引用部分)のとおりphpファイルを作成し、テーブルから取得した値を
  表示させる場合は、その値をmb_convert_encoding()  でshift-JISに変換後
  echoすればよいということになるのでしょうか?
  (php.iniの変更はできないのでスクリプト内での処理が必要になります。)