public function actionTest(){
$content = '"Привет мир";"test"';
$this->stream($content, 'contacts.cvs');
}
private function stream($content, $name){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$name);
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.strlen($content));
echo $content;
exit();
}
Скачивается файл, при открытии его в excel, за место русских символов появляются кракозябры. Если открыть файл в Notepad++ и выставить "utf-8 без BOM", то все отлично.
Функция удаления BOM не работает:
function remove_utf8_bom($text){
$bom = pack('H*','EFBBBF');
$text = preg_replace("/^$bom/", '', $text);
return $text;
}
Вопрос, как сделать так что бы в excel файл открывался в правильной кодировки?