[PHP] Problem z kodowaniem
Posted: Fri Apr 22, 2016 11:32 am
Jo, od jakiegoś czasu pracuję nad pewnym narzędziem związanym z OW. Mam jednak problem z zapisem tekstu, a konkretnie problem z kodowaniem. Wygenerowany plik do pobrania powinien mieć format UCS-2LE (z którego korzysta OW) jednak jest on zapisywany w UTF-8.
Efekt jest taki że pobrany plik ma format UTF-8, a tekst to zbiór krzaczków (zgaduje że to zasługa funkcji konwertującej na UCS-2LE). Wie ktoś może jak narzucić kodowanie dla pliku aby ten nie był zapisywany w UTF-8?
Code: Select all
$filename = $_GET['filename'];
$data = $_GET['data'];
$data = mb_convert_encoding($data, "UCS-2LE"); // próbowałem też z funkcją iconv("UTF-8", "UCS-2LE", $data);
$file = fopen($filename, "w");
fwrite($file, "\xFF\xFE".$data); // próbowałem z dodaniem BOM'a ale nie pomogło
fclose($file);
header("Content-Type: application/wri");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=" .$filename);
header("Pragma: no-cache");
readfile($filename);
unlink($filename);