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

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

解決済みの質問

Windows環境でのPHP+MySQL+Apacheの文字化け

様々なサイトで調べてみたのですが、どうしても文字化けの
解決になりませんでした。
MySQLからデータを取得し、ブラウザへ表示するとデータだけ
文字化けになってしまいます。
現在の設定は下記の通りになっております。
お分かりになる方、どうぞ宜しくお願い致します。

※PHPのソースコードはEUS、MySQLはSjis


【php.ini】
output_buffering = On
output_handler = mb_output_handler
magic_quotes_gpc = Off
default_charset = Shift_JIS
extension_dir = C:/php/extensions
extension=php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none


【my.ini】
#This File was made using the WinMySQLAdmin 1.4 Tool
#2006/04/28 18:18:42

#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions

[mysqld]
basedir=C:/mysql
#bind-address=172.20.3.162
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
default-character-set=sjis
language=japanese
[mysql]
default-character-set=sjis
[mysqldump]
default-character-set=sjis
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-nt.exe
user=root
password=root
default-character-set=sjis

投稿日時 - 2006-05-01 16:09:54

QNo.2125092

すぐに回答ほしいです

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

がると申します。ものすごく「アレ」な発言で恐縮ですが。
本質的に「言語挙動をiniファイルに頼る」のはちとどんなもんかと思います(無論「PHPが」それを推奨はしているのですが)。
ですので、各々の入力に対して、ご自身で「プログラム中で」きちんと文字コード変換を行ってみる、というのはどうでしょうか?
もし趣味で日曜プログラミングをなさっているならちと手間が大きいかもしれないのですが。
もしお仕事でなさっているんでしたら、個人的には「必須」だと思います。

投稿日時 - 2006-05-01 18:43:26

お礼

ご回答ありがとうございました。
文字化けは自己解決しました。
単純にデータの登録時にEUCにしなかったのが原因でした。
私の確認ミスでした。。。すみません。
本当にありがとうございました。

投稿日時 - 2006-05-02 08:57:03

ANo.2

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

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

回答(2)

ANo.1

MySQLのバージョンは?
→フォルダの名前から、4.1以下であることは分かるが。。。

PHPのバージョンは?
→フォルダの名前から、PHP4だと想像できるが。。。

日本MySQLユーザ会のFAQに、文字化けの記載がありますが、確認済みですか?

「set names sjis」を最初に実行してますか?

my.iniの指定は有効になっていますか?
→c:\windows\my.iniやc:\my.cnfの指定が優先されます。

参考URL:http://www.mysql.gr.jp/

投稿日時 - 2006-05-01 17:53:32

お礼

ご回答ありがとうございました。
申し訳ありませんでした、肝心な情報をお教えするのを忘れていました。

PHP5.0
MySQL4.0

ですが、文字化けは自己解決しました。
単純にデータの登録時にEUCにしなかったのが原因でした。
本当にありがとうございました。

投稿日時 - 2006-05-02 08:56:21

あなたにオススメの質問