• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字化けに関して)

文字化けに関する対処方法とは?

このQ&Aのポイント
  • 文字化けが起きてしまって困っています。PHPとMysqlを使用した、CMSを新しいサーバに移すと文字化けをしてしまいます。
  • データベースから読み込んでいる部分だけが文字化けしています。ブラウザのエンコードをUTF8にするとデータベースの部分が正確に表示され、HTMLに直接書き込んだ部分が文字化けします。
  • 対応策として、index.phpのmetaタグをUTF-8に変更し、php.iniのmbstringの設定を確認する必要があります。詳しい方に相談してください。

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

  • ベストアンサー
  • nazal2010
  • ベストアンサー率54% (12/22)
回答No.2

私がいつも文字化け対策に使う方法を記載しておきます。 但しこれは、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は脆弱性があるとの情報がありますので、出来れば使わないほうが良いようですが、最悪ダメなら試す価値はあるかと思います。) ----------------------------------------------------------------------- これでも正常に表示されないようであれば、サーバのスペック等を詳しく調べないといけないと思いますので、レンサバであればサーバ管理会社へ問い合わせてみるのが良いかと思います。 ただ、上手く質問しないと「技術的な質問にはお答え出来ません。」という提携文で回答される可能性がありますので、ご注意を。。。

noname#244246
質問者

お礼

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

その他の回答 (2)

回答No.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を選択して保存。終了。

  • duron
  • ベストアンサー率77% (73/94)
回答No.1

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

関連するQ&A