Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]CSV brak polskich znaków
Forum PHP.pl > Forum > Przedszkole
rad11
Panowie mam problem zwiazany z polskimi znakami po zapisie danych do .csv w bazie danych mam ustawione tabele na utf_polish_ci, a gdy robie zapis to są krzaki oczywiscie gdy otwieram w excelu w notatniku nie ma krzaków. Wiecie co moze byc nie tak ?
Metoda tworzaca csv:
  1. $entries = $this->cms->get_entries('array');
  2.  
  3. $csv = 'id,email,entry,task_id,datetime,opt_in_1,opt_in_2,is_winner,ip, key'."\n";
  4. foreach ($entries as $e)
  5. {
  6. $csv .= implode(",", str_replace(',', '', $e)).",\n";
  7. }
  8. $csv = (string)$csv;
  9. force_download('entries_'.time().'.csv', $csv);


maniana
Kodowanie znaków za pomocą iconv powinno pomóc.
rad11
Probowalem w tem sposob:
  1. iconv("UTF-8","UTF-8",$csv)

Ale to nic nie pomaga a pozatym nie znam kodowania wejsciowego ?
Turson
Jak nie znasz kodowania wejściowego skoro tabela w utf8_polish_ci ?
  1. $csv = chr(255) . chr(254) . mb_convert_encoding($csv, 'UTF-16LE', 'UTF-8');
rad11
Turson tez sa teraz krzaki.

  1. [óBDz|z|


a tekst

  1. śćęęółńććźżźż


A nie sorry patrzylem var dupem i byly krzaki ale w excelu nie ma smile.gif
phpion
Spróbuj takiej konwersji:
  1. $csv = iconv('UTF-8', 'Windows-1250', $csv);
rad11
Tez dziala dzieki smile.gif
trueblue
Jeśli otwierasz w Excelu poprzez kliknięcie na pliku, to będą śmieci. Jeśli plik ma inne kodowanie niż Windows-1250, to należy otworzyć poprzez Import i wybrać kodowanie w pierwszym kroku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.