phpの日本語が□(四角)に文字化けします。
PHPでテキストファイルの検索結果をソートして出力するスクリプトで文字化けが出て困って
います。
テキストファイル------------------
20101225|第二会議室|1200|1300|就職面接
20101225|第一会議室|1300|1400|打ち合わせ
20101225|第一会議室|1500|1600|テスト
20101225|第一会議室|0900|1000|会議
20101225|第一会議室|1200|1300|休憩
20101224|第一会議室|1200|1500|クリスマス会
スクリプト(抜粋)---------------------
//$_GET["year"]) = 2010;
//$_GET["title"]) = "第一会議室";
//$_GET["month"] = 12;
//$_GET["day"] = 25;
foreach ($schedule_list as $lineno => $line) {
list($schedule_date, $title, $str_time, $end_time, $body) = explode("|", $line);
if ($schedule_date == date("Ymd", mktime(0, 0, 0, $_GET["month"],
$_GET["day"], $_GET["year"])) && $title == $_GET["title"]) {
//抽出結果を配列に格納
$data[] = array( 'sch_date'=>$schedule_date ,'title'=>"$title", 'str'=>$str_time, 'end'=>$end_time, 'body'=>"$body", 'no'=>$lineno);
}
}
//開始時間(昇順)でソート
//array_multisort($str, SORT_ASC, $end, $sch_date, $title, $body, $no, $data);
foreach ($data as $key => $row) {
$sch_date[$key] = $row['sch_date'];
$title[$key] = $row['title'];
$str[$key] = $row['str'];
$end[$key] = $row['end'];
$body[$key] = $row['body'];
$no[$key] = $row['no'];
}
表示結果(1)---------------------
print_r($data);
配列データの全体を表示すると、日本語も正しく表示されます。
Array ( [0] => Array ( [sch_date] => 20101225 [title] => 第一会議室 [str] => 1300
[end] => 1400 [body] => 打ち合わせ [no] => 1 )
表示結果(2)---------------------
print_r($sch_date[0]);
print_r($title[0]);
print_r($str[0]);
print_r($end[0]);
print_r($body[0]);
print_r($no[0]);
配列データの要素を指定して出力すると日本語が□になります。
20101225�13001400�1
以上、どなたかご教授下さい。
日付 会議室 開始時間 終了時間 使用者
20101225 � 1300 1400 �
お礼
回答ありがとうございます。某社とはIT企業で、「顧客」と特定した意味合いではなさそうですが、「戦略的経営会議」は想像つきやすくていいですね。