• ベストアンサー

PHP 【文字化け】

PHPで掲示板を作っていて、ウェブ上であらわしたら【文字化】します。 対処方法としてはどういうことを行えばよいのでしょうか。? 皆様の回答をお待ちしています。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

文字→なんかの処理をして数値や別の文字に変換→先の変換の逆変換→元の文字 というのが正常な状態で、変換と逆変換が不一致で元の文字の戻らないのが「文字化け」です。 原因は様々で、ただ「文字化け」とだけ言われても、原因も対処方法もわかりません。 具体的に、どんな文字がどう化けるのでしょうか? 原因として多いのは次のものでしょう。 ・文字コードが違う Shift_JISで書かれた文章をUTF-8として表示しようとしている、等 対処方法: 正しい文字コードになるようにする。 ・URLエンコードされた文字列(%AA%BBみたいなやつ)をそのまま使用している 対処方法: デコード処理をする。 ・HTMLのタグやPHPのソースがそのまま表示されているのを「文字化け」と呼んでいる 対処方法: サーバーの設定を正しくやる まったくの勘ですが、前の質問から「メモ帳」を使っているようなので ・メモ帳でShift_JISで保存→PHPのプログラムではUTF-8を想定 ・メモ帳でBOM付きUTF-8で保存→BOMが邪魔して正しく処理されず というのが有りそうです。

kodoryu2013
質問者

補足

windows7を利用しています。 現在の様子は、 ���e�ꗗ �V�K�lj� "; echo ""; echo "\n"; } ?> ���e ���O ���� {$data[$COL_MESSAGE]} {$data[$COL_NAME]} {$data[$COL_TIME]}

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpフォームで文字化け

    phpで足跡伝言板(掲示板)を作ったのですが、下記のように文章の最後で文字化けしてしまうことがあります。 目・ size= 文章の最後でタグが混在してしまって文字化けしているような感じです。 こういう症状はどういう場合に起こるのでしょうか? また対処法などありましたら教えて頂けると幸いです。

    • ベストアンサー
    • PHP
  • PHP+MySQLで文字化け

    DBからデータを持ってきてPHPで表示させると文字化けしてしまいます。 PHPはEUC-JPです。 mb_convert_encoding($message, "EUC-JP")としてみても文字化けしてしまいます。 どなたか対処方法教えていただけたら嬉しいです。

    • 締切済み
    • PHP
  • PHP+MySQL 文字化けについて

    今、PHPとMySQLで掲示板を作っているのですが、どうも文字化けばかりしてしまいサイトを調べるのも苦痛になってきたので質問します。 MySQLもPHPも文字コードUTF-8で作る上で文字化けしないぞ! という設定を載せてくださいm(_ _)m

    • ベストアンサー
    • PHP
  • PHPとMySQLで文字化けしてしまいます。

    いつもお世話になっています。 レンタルサーバー(サクラインターネット)で、 MySQL5.1を設定し、データベースを使ったwebサイトをアップしたのですが、 PHP部分の一部に文字化けしてしまいます。 文字コードは、htmlの上部で、UTF-8に設定しています。 システムは、PHPとMySQLで組んであります。 ローカルでは正常に動いているために、理由がわかりません。 どなたか解決方法があれば、教えて下さい。 宜しくお願いします。

  • php4での文字化け

    php4で以下のプログラムを実行したら、IEの設定で文字コードをどれにしても文字化けします。 文字化けしない方法はあるのでしょうか? よろしくお願いします。 <?php $str = "あいうえお"; $str = mb_convert_kana($str,"KV"); echo "$str\n"; ?>

    • ベストアンサー
    • PHP
  • PHPの文字化けに関して

    こんにちは。 現在、PHPでWeb画面を作成しているのですが 日本語がすべて文字化けして困っています。 php.iniの設定はWebなどを参考にして以下のような 設定です。 宜しくお願い致します。 =php.iniの設定= default_charset = SJIS mbstring.http_input = auto mbstring.http_output = pass mbstring.internal_encoding = SJIS mbstring.detect_order = auto mbstring.substitute_character = none =.php内の記述= <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> =環境= サーバー:Vine Linux3.2

    • ベストアンサー
    • PHP
  • phpとoracleを用いたシステムでの文字化け

    phpとoracleを用いたシステムでwebサイトを構築しているのですが、 ブラウザからアクセスしページ表示した際に、全角文字が文字化けしてしまいます。 ◆環境 webサーバ:apache, php, oracleClient, PDO_OCI DBサーバ:oracle DBデータアクセス方法:PDO ◆事象の詳細 文字化けといっても必ず ???? とクエスチョン続きで表示されます。 上記webサーバのコマンドラインでphpのバッチを実行したところ、 コマンドライン上では正常に全角文字が表示されます。 まったく同じバッチをwebブラウザからhttpでアクセスを行ったところ、 文字化けしてしまいます。 ブラウザでの表示が悪いのではと思い、 phpのバッチ実行時に結果をテキスト出力させる処理を追加したのですが、 コマンドラインで実行した際は正常に出力され、ブラウザでアクセスした際は内容が文字化けして出力されました。 上記事象からアパッチが影響してるのではと考えられるので、 webサイトごと個別のhttpd.confの設定ファイルに NLS_LANG を設定したのですが、 結果は変わりませんでした。 文字コードの指定がない(正しくない)から文字化けするというよりは DBサーバから取得する文字列をどう受け取って(扱って)いいのかわからないという感じがします。 何か解決策等、わかる方がいましたらご教授いただけますでしょうか。

    • 締切済み
    • PHP
  • PHPの文字化けについて

    宜しくお願い致しますm(__)m PHPを覚え初めてまだ一週間という初心者なのですが、ご質問させて下さい。初心者向けのPHP入門書を買ってフォームの作製をしたんですが、localhostでテストしてみるとちゃんと文字が表示されるんですが、サーバにアップしてテストするとphpの部分で、変数の部分が文字化けするんです。通常のphpの中のhtml部分はちゃんと表示されるんですが、変数に代入している文字や数字が化けるんです。なぜでしょう(T_T) どなたかお知恵をお貸し頂けると大変助かります。

    • ベストアンサー
    • PHP
  • PHPファイル文字化けについて

    linux CentOS3(RedHat Enterprise3)を利用しています。 linuxは文字コードがEUCと認識しております。 そこでwindows上にてPHPファイルを作成、文字コードEUCにて保存し、 ffftpにてlinuxサーバにアップロードし、webページを参照してみました。 PHPファイルは以下の通りです。 <?php echo "こんにちは"; ?> 結果、InternetExplorerを利用し閲覧したところ文字化けにて表示されます。 文字コードは「UTF-8」が選択されています。 もちろん、文字コードを「EUC」に変更すると、 出力されてほしい文字列が表示されます。 これをInternetExplorerにて表示したとき、 文字化けしないような設定に変更したいと考えます。 どのような手順を踏めばよろしいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTML・PHPの文字化け

    こんにちは。 PHPとMySQLを使ってショッピングカートを作ろうと思ったのですが、しょっぱなから躓いてしまいました・・・。 index.htmlでメタを <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> とeuc-jpにしたのですが、サーバーにアップすると文字化けしてしまいます。 表示のエンコードで確認するとシフトーJisになっています。eucにするとちゃんと表示されるのですが、更新するとやはり文字化けします。PHP・MySQLがeucですので、困っています。 どうにか対処方法はないでしょうか?ご教授をよろしくお願いします。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • カバーが開いてしまった場合、必ず閉めてください。開いたまま使用すると機能に支障が生じることがあります。
  • お困りの製品はFAX300CLです。カバーが開いてしまい、閉めてもメッセージが表示され続けています。解決策をご教示ください。
  • ひかり回線を使用している場合、カバーが開いている状態でFAXを送信することができません。必ずカバーを閉めてご利用ください。
回答を見る