Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> generowanie pliku Excel - problem z polskimi znakami
smiady
post 7.05.2014, 16:40:34
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


Witam.

generuje plik Excel podając ze zwykłego headera:
  1. header("Content-Type: application/vnd.ms-excel; charset=utf-8");
  2. header("Content-Disposition: attachment; filename=czlonkowie_wspierajacy.xls");
  3. header("Expires: 0");
  4. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  5. header("Cache-Control: private",false);

a następnie generuje zwykłą htmlowską tabelkę.
Niestety nie generuje mi polskich liter (mam krzaczki).
Gdy zmieniam kodowanie pliku z UTF8 (BEZ BOM) na UTF8 (bo chyba to powinno pomóc) to niestety wystakuje mi błąd:
Warning: Cannot modify header information - headers already sent by (output started at ...
Dane do tabeli pochodzą z bazy danych i jest jako pierwsze zapytanie SET NAMES utf8
Wiem, że istnieją po sieci klasy, które generują dane do excela, ale mimo to wole skorzystać z tego rozwiązania.
Będę bardzo wdzięczny jak ktoś mi pomoże smile.gif
Go to the top of the page
+Quote Post
Turson
post 7.05.2014, 17:54:47
Post #2





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

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


Tylko nie mów, że podczas wysyłania swojego posta nie wyskoczył ci komunikat, że temat 'Headers already sent' był omawiany wiele razy
http://phpedia.pl/wiki/Cannot_add_header_i...rs_already_sent
Go to the top of the page
+Quote Post
smiady
post 7.05.2014, 18:11:19
Post #3





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


To, więc problem jest z kodowaniem. To na jaki mam zmienić, żeby header nie krzyczał, a były polskie znaki ?
Go to the top of the page
+Quote Post
Turson
post 7.05.2014, 19:56:43
Post #4





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

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


Ustaw UTF-8 bez bom a co do błędu to w linku co podalem jest rozwiazanie
Go to the top of the page
+Quote Post
smiady
post 8.05.2014, 12:11:19
Post #5





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


Cytat(Turson @ 7.05.2014, 20:56:43 ) *
Ustaw UTF-8 bez bom a co do błędu to w linku co podalem jest rozwiazanie


Ustawiony jest UTF-8 bez bom i działa header (header się sypał gdy był utf8).
Mam krzaczki z polskich znaków jak rozwiązać ten problem ?
Go to the top of the page
+Quote Post
Turson
post 8.05.2014, 12:32:18
Post #6





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

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


Właśnie przetestowałem to w Notepad++
Format pliku UTF-8 bez bom
  1. ob_start();
  2. header("Content-Type: application/vnd.ms-excel; charset=utf-8");
  3. header("Content-Disposition: attachment; filename=czlonkowie_wspierajacy.xls");
  4. header("Expires: 0");
  5. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  6. header("Cache-Control: private",false);
  7. ?>
  8. <!DOCTYPE html>
  9. <head>
  10. <meta charset="utf-8">
  11. </head>
  12. <body>
  13. <table>
  14. <tr><td>łóżźśęćśół</td></tr>
  15. </table>
  16. <?php ob_end_flush(); ?>

są polskie znaki

Ten post edytował Turson 8.05.2014, 12:33:06
Go to the top of the page
+Quote Post
smiady
post 8.05.2014, 15:41:25
Post #7





Grupa: Zarejestrowani
Postów: 137
Pomógł: 2
Dołączył: 2.07.2007
Skąd: Ostrzeszów

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


Dzięki za pomoc.

Sprawę załatwił znacznik meta, którego nie miałem.
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.06.2024 - 21:06