PHP CSV Generation - польские персонажи обратились к своим html-объектам

Когда я пытаюсь вставить польский символ в CSV-файл. Польский символ автоматически превращается в соответствующие htmlentities

<?php

header('Content-Type: text/csv; charset=UTF-8');   
header( 'Content-Disposition: attachment;filename=reports.csv');

echo ('åĄĆĘŁŃÓŚŹŻąćęłńóśźż');

?>
Output: å&#260;&#262;&#280;&#321;&#323;Ó&#346;&#377;&#379;&#261;&#263;&#281;&#322;&#324;ó&#347;&#378;&#380;

Мне нужно, чтобы польский символ отображался там.

Кто-нибудь может мне помочь, чтобы решить это?

Спасибо

1 ответ

Решение

Попробуй это:

<?php

header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename=reports.csv');

$data = 'åĄĆĘŁŃÓŚŹŻąćęłńóśźż';

$csv_output = '="'.$data.'"'.chr(9).chr(13);

$csv_output = chr(255).chr(254).mb_convert_encoding($csv_output, 'UTF-16LE', 'UTF-8');

echo $csv_output;

?>

Также не забудьте сохранить ваш php файл как UTF-8 без спецификации...

chr(9) разделяет поля и chr(13) разделяет строки...

Другие вопросы по тегам