[PHP-users 4987] Re: 文字化け
Masashi Ohba
php-users@php.gr.jp
Fri, 25 Jan 2002 17:59:28 +0900
大場です。
Shawn Gray wrote;
>PHP Version 4.0.4pl1
このバージョンのPHP4がShift_JISを扱えるのかどうかは
追加モジュールに依存します。
しかし、マルチバイト関数を追加したかどうかが
書かれていないので、きっと誰も分かりません。
>METAタグはちゃんと入ってます:
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
>
>文字の中身はHTML FORMで入れていまして、
>QKC(Quick Kanji Converter)というソフトでS-JIS、JIS、EUC等に内容を変換して
>入れ直しましたが、まだ解決は出来ません。
ソースをS-JIS、JISにしたらますますおかしくなりませんか?
PHP4系では、ソースはEUCじゃないとだめでしょう。
マルチバイト関数を使っていないのなら
「charset=EUC-JP」にすればおそらく化けないとおもいます。
SJISの出力が出来ないPHP4で「charset=Shift_JIS」では
EUCの出力なのにSJISと解釈させるわけですから、文字化けします。
マルチバイト関数を使っているのに化けるなら、
php.iniの設定がSJISで出力できる様になっていないのでしょう。
どっちの場合でも実際の出力がEUCなのに
「charset=Shift_JIS」と書いてあるのが
文字化けの原因なのではないですか?
>http://www.php.gr.jp/php/php4/ で4.0.6は大丈夫だと見ました。バージョンを
>アップするか、ダウンするか、パッチを付けるか。。。
>
>何かアドバイスがあるのでしょうか?
自分でインストールできるなら4.0.6は既に古いバージョンですので
4.1.1を、マルチバイト関数を有効にしてコンパイルし、php.iniを
ちゃんと設定する
インストールが面倒だったら、SJISのことは一切考えないで
ソースはEUCで書く。
EUCで出力する。
charsetはEUC-JPにする。
これなら多分化けません。
------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail ohba@intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------