Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]CSV brak polskich znaków, csv
rad11
post 13.08.2014, 08:12:48
Post #1





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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);


Go to the top of the page
+Quote Post
maniana
post 13.08.2014, 08:22:49
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 18.05.2007

Ostrzeżenie: (0%)
-----


Kodowanie znaków za pomocą iconv powinno pomóc.
Go to the top of the page
+Quote Post
rad11
post 13.08.2014, 08:26:34
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Probowalem w tem sposob:
  1. iconv("UTF-8","UTF-8",$csv)

Ale to nic nie pomaga a pozatym nie znam kodowania wejsciowego ?
Go to the top of the page
+Quote Post
Turson
post 13.08.2014, 08:35:27
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


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');
Go to the top of the page
+Quote Post
rad11
post 13.08.2014, 08:58:57
Post #5





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
phpion
post 13.08.2014, 08:59:44
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Spróbuj takiej konwersji:
  1. $csv = iconv('UTF-8', 'Windows-1250', $csv);
Go to the top of the page
+Quote Post
rad11
post 13.08.2014, 09:01:53
Post #7





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tez dziala dzieki smile.gif
Go to the top of the page
+Quote Post
trueblue
post 13.08.2014, 09:15:40
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:10