Witam. Mam następujący problem z którym "walczę" od trzech dni samodzielni i szukając po necie rozwiązań ale żadne niestety nie przynosi pożądanych rezultatów.
Stąd moja prośba do Was. Mam formularz w którym użytkownik podaje dane dalej jest o przetwarzany przez plik konwersja.php i następnie otwierany jest szablon jako plik rtf.
W tym pliku w odpowiednich miejscach wyświetlają się dane wprowadzone przez użytkownika ( dalej jest już tekst wprowadzony wcześniej).
Do tej pory oczywiście wszystko jest OK. Ale mam "stary-nowy" problem z polskimi znakami.
Oczywiście nie wyświetlają się w pliku rtf ( tylko te wprowadzone przez użytkownika ).
Próbowałem poprzez funkcję konwersji polskich znaków ale efekt był żaden. Były też inne próby ale nic nie pomaga.
Macie jakieś pomysły ???.
Poniżej kod pliku konwwersja.php.
<?php $podmianaa= $_POST['nazwa']; $podmianab= $_POST['ulica']; $podmianac= $_POST['kod']; $podmianad= $_POST['miasto']; $podmianae = $_POST['nazwad']; $podmianaf = $_POST['ulicad']; $podmianag = $_POST['kodd']; $podmianah = $_POST['miastod']; $file_name='New.rtf'; if (($podmianaa= '') || ($podmianab== '') || ($podmianac=='') || ($podmianad=='') ||($podmianae= '') || ($podmianaf== '') || ($podmianag=='') || ($podmianah=='') ){ http://www.php.net/echo "<hl>Błąd</h1><p>Należy wypełnić wszystkie pola</p>"; } else { http://www.php.net/header( 'Content-type: application/msword' ); http://www.php.net/header("Content-Disposition: inline; filename=konwersja.rtf"); $wyswietl = http://www.php.net/fread($fp,http://www.php.net/filesize($plik)); $wyswietl = przeksztalc($wyswietl); $wyswietl = http://www.php.net/str_replace( '^^NAZWA^^', $podmianaa, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^ULICA^^', $podmianab, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^KOD^^', $podmianac, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^MIASTO^^', $podmianad, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^NAZWAD^^', $podmianae, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^ULICAD^^', $podmianaf, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^KODD^^', $podmianag, $wyswietl ); $wyswietl = http://www.php.net/str_replace( '^^MIASTOD^^', $podmianah, $wyswietl ); // wyświetlenie gotowego dokumentu http://www.php.net/echo $wyswietl; } ?>
http://php.net/manual/pl/function.iconv.php
Po co nadajesz zmienne typu $podmianaa, skoro możesz od razu wyświetlać z $_POST
http://stackoverflow.com/questions/5368150/php-header-excel-and-utf-8
Kayman, czy mógłbyś podpowiedzieć jak zastosować iconv?
Na pewno źle to robię bo nic nie pomaga.
Robię tak:
http://www.php.net/echo iconv("UTF-8","UTF-8","$wyswietl");
rtf to chyba ma kodowanie https://pl.wikipedia.org/wiki/Windows-1252 więc sprawdź takie
iconv("UTF-8", "Windows-1252", $wyswietl);
O ja "pierdziele" działa, kayman jesteś WIELKI.
Dzięki.
Kurde, za wcześnie się ucieszyłem. Oczywiście działa ale tylko częściowo. Tzn. na niektórych znakach diaktrycznych np. "ł" ( pewnie i innych ale nie na "Ó" ) plik rtf wywala taki błąd:
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)