PHPの便利な小技 PHPで使える便利な小技などのご紹介

2014年3月7日
この記事は掲載から1991日経過しています。
情報が古い可能性が有りますのでご了承下さい

CSVファイルをデータベースにインサートする場合など、エクセルで作ったCSVファイルがPHPで見ると文字化けしてしまう事が有ります。そんなときは以下のようにしてみて下さい。

[php]
<?php
header("Content-type:text/html;charset=UTF-8"); //☆
mb_internal_encoding("UTF-8"); //☆
mb_language(‘Japanese’); //☆

$file = ‘data.csv’;

if( file_exists($file) === true){ //ファイルの存在を確認

$data = file_get_contents($file); //展開
$data = mb_convert_encoding($data, ‘UTF-8’, ‘sjis-win’); //エンコードをUTF8へ

$temp = tmpfile();
fwrite($temp, $data);
rewind($temp);
setlocale(LC_ALL, ‘ja_JP.UTF-8’); //☆

while (($row = fgetcsv($temp, 0, ",")) !== FALSE) {
print_r($row);
}

fclose($temp);

}

?>
[/php]

☆の部分が対処方です。基本的にはヘッダー部分に以下を書き加えると、ほぼ大丈夫だと思います。

[php]
header("Content-type:text/html;charset=UTF-8"); //☆
mb_internal_encoding("UTF-8"); //☆
mb_language(‘Japanese’); //☆
[/php]

それでも駄目な場合は以下を書いてみて下さい。

[php]
setlocale(LC_ALL, ‘ja_JP.UTF-8’); //☆
[/php]

 
  • このエントリーをはてなブックマークに追加
  • LINEで送る

PAGE TOP