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

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

解決済みの質問

文字化けに関して

文字化けが起きてしまって困っています。

PHPとMysqlを使用した、CMSを今あるサーバから別のサーバに移したいのですが、
新しいサーバに移すと文字化けをしてしまいます。

正確にはデータベースから読み込んでいる部分だけが文字化けしています。
index.phpにHTMLコードとして記述してある部分は文字化けしていません。

ブラウザ(IE)の「表示→エンコード」からUTF8を選ぶと逆に
データベースの部分が正確に表示され、HTMLに直接書き込んだ部分が文字化けします。


現状でわかる範囲で書きます。
・index.phpのmetaは
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />

・MYSQL(phpmyadminに書かれている)文字セットは
UTF-8 Unicode (utf8)

・php.iniの設定
mbstring.language・・・japanese
mbstring.internal_encoding・・・UTF-8
mbstring.encoding_translation・・・on
mbstring.http_input・・・未設定
mbstring.http_output・・・未設定

default_charset・・・未設定
output_handler・・・未設定
output_buffering・・・未設定
magic_quotes_gpc・・・Off


詳しい方よろしくお願いします。

投稿日時 - 2010-11-15 12:51:55

QNo.6320887

すぐに回答ほしいです

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

私がいつも文字化け対策に使う方法を記載しておきます。
但しこれは、UTF-8で出力する方法ですので・・・。

-----------------------------------------------------------------------

▼MySQLの照合順序を「 utf8_unicode_ci 」に統一。

▼index.phpのcharsetを「 UTF-8 」にする。

▼index.phpを保存する際に、エンコードの種類を「 Unicode UTF-8 」にして、「 BOM無し 」で保存して、ダメなら「 BOM有り 」の両方を試してみてください。

▼クエリを発行する前に「 mysql_query("set names utf8"); 」又は、「 mysql_query("set names utf-8"); 」の一文を追加してください。

(set namesは脆弱性があるとの情報がありますので、出来れば使わないほうが良いようですが、最悪ダメなら試す価値はあるかと思います。)

-----------------------------------------------------------------------

これでも正常に表示されないようであれば、サーバのスペック等を詳しく調べないといけないと思いますので、レンサバであればサーバ管理会社へ問い合わせてみるのが良いかと思います。

ただ、上手く質問しないと「技術的な質問にはお答え出来ません。」という提携文で回答される可能性がありますので、ご注意を。。。

投稿日時 - 2010-11-15 15:28:38

お礼

ありがとうございます。
おかげさまで無事解決しました。

投稿日時 - 2010-11-26 12:47:50

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

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

回答(3)

ANo.3

全部utf-8に統一したらいいんじゃないでしょうか。
つまり、mysqlはもうutf-8になっているみたいなのでそのまま。
index.phpをutf-8に変換。具体的には、
(1)index.phpをテキストエディタで開いて
meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"で
Shift_JISをutf-8に変更
(2)テキストエディタで保存するとき、文字コードutf-8を選択して保存。終了。

投稿日時 - 2010-11-20 11:50:40

ANo.1

文字化けの見た目的にはUTF-8のデータをShift_JISで表示しているタイプかと思います。
以前の環境と今回の環境が同じなのかどうかわかりませんが
画面出力の際にUTF-8からShift_JISに変換してみてください。

投稿日時 - 2010-11-15 13:15:01

あなたにオススメの質問