UTF8のPHPにSJISのPHPを組みこむ方法?
charset=UTF-8で動作するPHPファイルがあります。
******************
UTF-8で動作するPHP
******************
<?php
・・・・・・・・
header("Content-type:text/html;charset=UTF-8");
?>
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; UTF-8">
<title><?=$API_NAME?></title>
</head>
・・・・・・・・・・
・・・・・・・・・・
</html>
のような形です。
一方、SJISで動作する下記のPHPがあります。
このS_JIS PHPを上記のUTF-8PHPの中の</head>と</html>の間に組み込みたいと思います。
下記のPHPは、data.csvからファイルの中身を表示させるPHPですが、そのまま放り込むと
文字化けしてしまいます。
(下記のPHP単体だと正しく表示されます。charset=UTF-8下で文字化けします)
data.csvの文字コードをUTF-8にする。LF にするなど試してみましたが文字化けしたままでした。
また、#include <string.h>の下に
mb_convert_encoding($string, 'utf8', 'sjis');
を入れてみましたが文字化けは直りませんでした。
お手数ですが下記のPHPをUTF8上で正しく表示させる方法が分かりましたらご教授願います。
******************
SJISで動作するPHP
******************
<?
#include <string.h>
// CSV ファイルを読み込み、$data配列に格納
$handle = fopen("data.csv", "r");
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ( strcmp( $row[0] , '110' ) == 0 ) {
$data[] = array( 'shop'=>$row[0] ,'priceA'=>$row[1], 'priceB'=>$row[2], 'place'=>$row[3] );
}
}
fclose($handle);
// 列方向の配列を得る
foreach ($data as $key => $row) {
$shop[$key] = $row['shop'];
$priceA[$key] = $row['priceA'];
$priceB[$key] = $row['priceB'];
$place[$key] = $row['place'];
}
// 結果の表示
for( $i=0 ; $i<count( $data ) ; $i++ ) {
print "$shop[$i] $priceA[$i] $priceB[$i] $place[$i]<br>\n";
}
?>
お礼
情報ありがとうございます。 今すぐに確認できないため、明日試してみようと思います。 バッファリングの件、知りませんでした。