• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの日本語が□(四角)に文字化けします。)

phpの日本語が四角に文字化けする問題

このQ&Aのポイント
  • PHPでテキストファイルの検索結果をソートして出力するスクリプトで日本語が四角に文字化けする問題が発生しています。
  • 配列データの全体を表示すると、日本語も正しく表示されますが、要素を指定して出力すると日本語が四角になってしまいます。
  • ご教授の程、よろしくお願いいたします。

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

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

んー、多分。。。本当に多分程度の考えですけど、print substr($body[0] , 0 , 1); って書いても 同じように � が表示されるかもしれないんじゃないかな。。と思います。 print_r($body[0]); を print $body[0]; にしてみてください。 なんーか、たしか、文字列を配列のように表示しようとすると、こんな事が起きるんじゃなかったかな~とか、思ったり思わなかったり。 例えば、$str = "hoge"; を print $str[2]; ってやると、g が表示されたような されなかったような。 とっても、アバウトですみません。

naga4973
質問者

お礼

bm_hiroさん 早速の回答ありがとうございます。 配列にあまり詳しくないもので、参考になります。 print $body[0]; にしても□になってしまいした。 最後に全てprintで出力しているのですが、 配列の扱い方に問題があるのですかねー。 出力ソース-------------- for( $i=0 ; $i<count( $data ) ; $i++ ) { print("<tr>\n"); print("<td>$sch_date[$i]</td>\n"); print("<td>$title[$i]</td>\n"); print("<td>$str[$i]</td>\n"); print("<td>$end[$i]</td>\n"); print("<td>$body[$i]</td>\n"); } ■こんな感じになってしまいます。TT  20101225 � 1300 1400 �  20101225 � 1500 1600 �  20101225 � 0900 1000 �  20101225 � 1200 1300 � ■ちなみに使用している文字コードはUTF-8(下記) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ■CSSはこんな感じです。(下記) <style type="text/css"> a:link {color: #3366FF; background-color: transparent; text-decoration: none; font-weight: bold;} a:visited {color: #2B318F; background-color: transparent; text-decoration: none; font-weight: bold;} a:hover {color: #00BFFF; background-color: transparent; text-decoration: underline;} body {color: #333333; background-color: #FFFFFF;} table {border: 1px solid #CCCCCC; border-collapse: collapse; margin-bottom: 1em;} td {border: 1px solid #CCCCCC; height: 2.5em; vertical-align: middle; padding-left: 1em; padding-top: 2px; padding-right: 1em; padding-bottom: 2px;} th {border: 1px solid #CCCCCC; color: #333333; background-color: #F0F0F0; padding: 5px;} </style>

関連するQ&A

専門家に質問してみよう