Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]PHPWord i polskie znaki
Forum PHP.pl > Forum > Przedszkole
BartekN
Cze¶ć,
Mam taki kod jak poniżej i niestety jest problem z zapisem pliku *.docx z polskimi znaczkami. Przekopałem support autora PHPWord, to forum czy np. taka porada http://phpword.codeplex.com/discussions/431281 i niestety nie działa, tworzy plik, ale z mega krzakami. Miał kto¶ z was styczno¶ć z t± bibliotek±?

  1. <?php
  2. require_once './lib/PHPWord.php';
  3.  
  4. $filename = date('Y-m-d-H-i-s',time()).'.docx';
  5.  
  6. $PHPWord = new PHPWord();
  7. $document = $PHPWord->loadTemplate('szablon.docx');
  8.  
  9. $input = "ęó±¶łżĽćńĘÓˇ¦ŁŻ¬ĆŃ";
  10.  
  11. $txt = html_entity_decode(iconv('UTF-8', 'ISO-8859-2',$input));
  12. $txt2 = html_entity_decode(iconv('UTF-8', 'UTF-8',$input));
  13. $txt3 = html_entity_decode(iconv('UTF-8', 'windows-1250',$input));
  14. $txt4 = html_entity_decode(iconv('ISO-8859-2', 'UTF-8',$input));
  15.  
  16. $document->setValue('Value1', $txt);
  17. $document->setValue('Value2', $txt2);
  18. $document->setValue('Value3', $txt3);
  19. $document->setValue('Value4', $txt4);
  20.  
  21. $document->save($filename);
  22.  
  23.  
  24. echo html_entity_decode(iconv('UTF-8', 'UTF-8',$input));
  25. echo html_entity_decode(iconv('UTF-8', 'ISO-8859-2',$input));
  26. echo html_entity_decode(iconv('UTF-8', 'windows-1250',$input));
  27. echo html_entity_decode(iconv('ISO-8859-2', 'UTF-8',$input));


Podbijam temat, może komu¶ wpadnie fajny pomysł i uda się to rozwi±zać. Zależy mi na PHPWord ponieważ można sobie fajnie ustalić szablon pliku worda i nie trzeba się bawić w układanie pliku jak to ma miejsce np. w PHPRtfLite (gdzie działa kodowanie)
lukasz1991a
Hej,
Też miałem ten problem i też bardzo długo szukałem odpowiedzi na różnych forach. W końcu postanowiłem sam odnaleĽć przyczynę krzaczków. Okazało się że Twórcy nieumiejętnie stosowali finkcje utf8_encode. Aby Twój szablon działał wystarczy w pliku Template.php za komentować linię 88 (całego ifa najlepiej skasować). W tej linii jest użyta ta funkcja.
Pozdrawiam
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.