これ何て呼びますか

PHPの文字化けの件でお伺いしたいのですが
サーバーOS:FreeBSD
PHP4.3.11とMYSQL4. 1. 11を利用してWEBアプリを作成しよう
としております。
文字化け対策として、my.confに以下の文を追加しました。

[client]
default-character-set= sjis
[mysqld]
default-character-set= sjis
character-set-server = sjis
[mysqldump]
default-character-set= sjis
[mysql]
default-character-set= sjis

mysql再起動後、telnetにて、データベースの内容を
確認したところShiftJISの文字コードでで無事に確認できました。
そこでPHPからこのデータを抽出しようと考え
select * from table where column=12345
のような形で日本語のデータをPHPで表示させようとしましたが
日本語のデータのところが????と表示されてしまいうまく表示させることが
出来ません。ここでhttpd.conf に AddCharset SJIS .sjis
と追加してしても症状が改善されません。
php.iniを編集すればうまくいくのかと考え、php.iniを確認したところ

[mbstring]
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.detect_order = auto
;mbstring.substitute_character = none;

PHPとMYSQLと双方に原因が考えられますが、telnet上ではきれいに
表示されることを考えPHPの項目にてお伺いいたしました。
となっておりました。他に何か原因やチェックしなければいけないところ
等ございましたらご教授ください。 よろしくお願いいたします。

A 回答 (2件)

[mbstring]


mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none

こうしてみてもダメでしょうか。
全部SJISにした方がよろしいかと思われます。

スクリプトファイルの文字コードも関係しますので、
確認してみて下さい^^
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
php.iniを修正してみましたがやはりうまく表示させる
事ができませんでした。
php.iniの他にhttpd.confに以下の一文を
追加してみたところうまく動作するようになりました。
AddCharset SJIS .sjis
ご回答くださいまして本当にありがとうございました。

お礼日時:2005/10/08 10:39

;mbstring.internal_encoding = EUC-JP



先頭に ";" が付いていますが、これが付いているとその行はコメント扱いになりますので、全く書いていないのと同じになってしまっている状態です。

ですので、外した上で試してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ご指摘いただいておりました、php.iniの";"をはずしてapacheを再起動したのですがやはりクエリの結果が???と
表記されてしまいます。
やはりshift-jisで表示させるのがいけないのでしょうか。

お礼日時:2005/10/05 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!