[PHP-users 848] Re: PHP4.0.6の日本語処理について

calnet-S.Nakamura php-users@php.gr.jp
Tue, 24 Jul 2001 14:34:51 +0900


ピントがずれた質問になったので、もう一度質問のし直しを
させてください。

実行環境:
 ディストリビューション:TurboLinux6.5(FTP版)
  (ただし、apache,php.postgreSQLはインストールせず。)
 WWW:apache1.3.20
 DB:PostgreSQL7.1.1
 PHP4.0.6

上記、実行環境にて、以下のようなphpファイルを実行すると
 ファイル名:test.php
 <?php
 $sql = "テスト";
 print $sql;
 ?>

以下のような結果が出力されます。
 ?e?X?g
 (IE.5.5よりソース表示した内容)

上記の結果、ブラウザ(IE5.5)では文字化けが発生します。
(エンコードされずに出力されてしまう。)

上記の件について、対応策を教えていただければ幸いです。

以上、宜しくお願いいたします。

送信者 : "calnet-S.Nakamura" <s-nakamu@calnet.ne.jp>
宛先 : <php-users@php.gr.jp>
送信日時 : 2001年7月24日 13:59
件名 : [PHP-users 842] Re: PHP4.0.6の日本語処理について


> 日本語処理について、私の方でもいろいろ試しました。
> その前に、環境情報を書き忘れましたので、以下に記述します。
>
> ディストリビューション:TurboLinux6.5(FTP版)
>  (ただし、apache,php.postgreSQLはインストールせず。)
> WWW:apache1.3.20
> DB:PostgreSQL7.1.1
>
> ・質問の前に確認したこと:
>   エンコードができているか。
>   シフトJISになっていることを確認しました。
>   
> ・質問の後に確認したこと:
> 1.文字情報の明示
>   以下のようにphpファイルを変更しました。
>
>  ファイル名:test.php
>  <html>
>  <head>
>  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
>  <title> テスト </title>
>  </head>
>  <body>
>  <?php
>    $sql = "テスト";
>    print $sql;
>  ?>
>  </body>
>  </html>
>
>  結果:
>   文字化けのままです。タイトルまで文字化けでした。
>   そこで、apacheの方を疑って、ファイル名をphp.htmlとして
>   表示させると、もちろん内容は表示しませんが、
>   タイトルの文字化けはなくなりました。
>
> 2.PEAR DBを使用して、PostgreSQLのテーブル情報(フィールド、データ情報)を
>   表示
>
>  ファイル名:test1.php
>  結果:
>   問題なく、データ情報は日本語が表示されました。
>
> 結論(対応策)は、まだですが、apache側の設定も確認対象としてみます。
> また、PEARクラスの使用も考えてみます。
>
> ちなみに、httpd.confの設定では、以下の項目を追加しました。
> LoadModule php4_module        libexec/libphp4.so
> AddType application/x-httpd-php .php
> AddType application/x-httpd-php-source .phps
>
> 以上。
>
> 送信者 : "Masashi Ohba" <ohba@intelight.co.jp>
> 宛先 : <php-users@php.gr.jp>
> 送信日時 : 2001年7月24日 12:32
> 件名 : [PHP-users 833] Re: PHP4.0.6の日本語処理について
>
>
> > 大場です。
> >
> > calnet-S.Nakamura wrote;
> >
> > >PHP4.0.6の日本語処理について、お教えください。
> > >
> > >以下のように、単純に日本語を表示しようとしても、
> > >文字変換がうまくいきません。
> > >
> > >ソース:
> > ><?php
> > >$sql = "テスト";
> > >print $sql;
> > >?>
> > >
> > >表示結果:
> > >?e?X?g
> >
> > 単にブラウザが日本語部分が短かすぎて
> > 自動判別でSJISと認識してくれてないだけでは?
> > ブラウザ側でエンコード変えたらどうなりますか?
> >
> > つうか、ブラウザにちゃんと表示させたいならば
> > 出力した日本語コードとあうように
> >
> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
> >
> > を出るようにしておかないとだめなのでは?
> > もらったデータをどう判断するかはブラウザ依存だろうし
> > 短すぎると自動判断出来ないこともあるし
> >
> > html中にcharsetの指定が無くても表示が上手くいってるのは、
> > ブラウザが勝手によきに計らったら、たまたま問題が出なかった
> > って程度のことだと思いますけど。
> >
> > ------------------------------------------------------------
> > 大場正志(Masashi Ohba)
> > E-Mail  ohba@intelight.co.jp
> > (株) インテライト
> > http://www.intelight.co.jp
> > ------------------------------------------------------------
> > _______________________________________________
> > PHP-users mailing list
> > PHP-users@php.gr.jp
> > http://ns1.php.gr.jp/mailman/listinfo/php-users
> >
> >
> >
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
>
>