[PHP-users 10447] php.iniの設定

Hisatoshi Kanai php-users@php.gr.jp
Wed, 2 Oct 2002 01:27:48 +0900


最近本気でPHPに取り組もうとしている、かない@かわちです。

内部コードをEUC-JPにし、出力をshift_jisにするのを
php.iniで設定出来る事を知り早速下記のとうりに変更してみました。

デフォルトからの変更点

default_charset = "Shift_JIS"
output_handler = mb_output_handler
magic_quotes_gpc = Off
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;

すると、おもいどうりの動作をしたのですが静的なHTMLファイル(拡張子
.html.htm)
が文字化けを起こすのです。そこでHTMLファイルも文字コードをeuc-jpにし、
メタタグでsift_jisに指定↓
(<meta http-equiv="Content-Type" content="text/html; charset=sift_jis">)
すると文字化けが発生しないのです。

どうも納得がいかず、もしやと思いHTML(拡張子.html.htm)ファイルの
適当なところに<?php print "test"; ?>と入れたところtestと表示されたので
HTMLファイルもphpコードを実行されているようなので今度はapacheのhttpd.conf
を確認。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
となっていたので拡張子.html .htm で、なぜphpコードが実行されるのか
わかりません。私の設定の何処がまずいのでしょうか?
何卒、ご教授の程よろしくお願い致します。

環境
redhat7.1
php4.2.2
apache1.3.26
Configure Command
'./configure' '--enable-mbstring' '--enable-mbstr-enc-trans'
'--with-apxs=/usr/local/apache/bin/apxs' '--with-pgsql=/usr/local/pgsql'