みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ApacheにてHTML・PHPファイルが文字化けします

現在、業務の関係でHTML・PHPファイルをブラウザで表示させているのですが、あるファイル(HTML・PHP両方とも)のみ文字化けをおこしてしまうのです。

OS:TurboLinuxServer6.1
Webサーバ:Apache1.3.26
ブラウザ:Netscape4
PHP:PHP3.0.18

HTML・PHPファイルの上には「charset=Shift_JIS」と、すべてのファイルに記述しています。
PHPのiniファイル内の「i18~」もShift_JISに統一しています。
Apacheのhttpd.confの設定も行なったのですが、効果がありませんでした。

ちなみに、HTML・PHPファイルはWin→Linuxにコピーするとき、秀丸でファイル形式を「EUC(改行=lf)」で保存しました。(こうしないと、改行に変な文字がついてしまうので)

gooで検索をかけたところ、ファイルのパーティションを705にかえる方法がありましたが、それも関係あるのでしょうか?

なにか、よきアドバイスがあればお願いいたします。

投稿日時 - 2002-09-12 22:43:56

QNo.357243

すぐに回答ほしいです

質問者が選んだベストアンサー

どノーマルのphp-3.0.18ではi18n機能は付いていません。
php-3.0.18-i18n-ja-3がVersion3系の最新です。
これ(に相当するバージョンの物)を使えばphpのスクリプト内の記述に関して「スクリプト エンコーディング」を自動判別可能です。

また、phpのスクリプトをShift_JISで記述すると、何かと問題が発生するようですね。
たとえば、[\]にまつわる問題とか、、、

特殊な理由がない限り、基本的にphpのスクリプトはEUC-JPで書くべきです。

参考URL:http://www.php.gr.jp/,http://jp2.php.net/

投稿日時 - 2002-09-12 23:37:51

補足

回答していただきありがとうございます。
PHPのバージョンを会社で調べましたら、php-3.0.18-i18n-ja-3でしたので、私の設定がおかしいのかもしれません。
No.1にもかきましたがShift_JISにあわせないといけないので、とりあえずShift_JISにファイル変換して試してみます。

投稿日時 - 2002-09-13 09:25:20

お礼

No.1の方のお礼でも書きましたが原因が判明しました。
どうやらPHPのiniファイルの名前を「php.ini」→「php3.ini」にしたら、文字化けすることなく正常に動かすことができました。
ちなみに文字コードをEUCにしても問題なく動作することができました。
こんな単純ミスのためにご回答いただきまして本当にありごとうございました。
これからはちゃんと自分で確認して原因を追求していきたいと思います。

投稿日時 - 2002-09-17 12:56:22

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

EUCで保存して、Shift-JISで見れば、文字化けするのは当然ですよね?
ちっとも不思議じゃありません。
EUCでアップするなら、「charset=x_EUC」にするか、何も指定しないかですね。

投稿日時 - 2002-09-12 23:00:18

補足

回答していただいてありがとうございます。
やはりEUCで保存するとだめですか・・・
お客様の環境に合わせなければいけないので(Shift_JISに統一されています)Shift_JISにファイル変換して試してみます。

投稿日時 - 2002-09-13 09:20:40

お礼

原因が判明しました。どうやらPHPのiniファイルの名前を「php.ini」→「php3.ini」にしたら、文字化けすることなく正常に動かすことができました。
ちなみに文字コードをEUCにしても問題なく動作することができました。
こんな単純ミスのためにご回答いただきまして本当にありごとうございました。
これからはちゃんと自分で確認して原因を追求していきたいと思います。

投稿日時 - 2002-09-17 12:55:06

あなたにオススメの質問