phpexcelを使って文字化けしたエクセルをエクスポートする
データベースもページもutf8です。
header('Content-Type: application/vnd.ms-excel;');
header('Content-Disposition:attachment;filename='.$filename.'.xls');
header ('キャッシュ制御: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output' ); //
エクスポート後、Excel を開くと文字化けします。
ローカルウィンドウ下でエクスポートする場合は問題ありませんが、サーバーにアップロードしてエクスポートすると文字化けします。
直接 var_dump ($objWreter) をページに実行して、文字化けがないことを確認します。
header('Content-Type: application/vnd.ms-excel;charset=gb2312') がまだ文字化けしています。
この文字化けしたコードには何が問題ですか?
----- -解決策- ------------------
ob_end_clean() 関数を header() の前に追加してバッファをクリアします。文字化け!
ob_end_clean();//文字化けを避けるためにバッファをクリアします
header('Content-Type: application/vnd.ms-excel');
....
.....
------解決策---------
$objWriter->save ('php:/ /output'); 出力は画像のようなバイナリドキュメントストリームです、文字セットの問題はありません
Excelで開くとファイルに認識できない内容が含まれているため文字化けしてしまいます
これはほとんどの場合含まれています。php エラー メッセージが表示された場合は、スクリーンショットを撮って投稿して確認するか、xls ファイルをネットワーク ディスクに置くことができます