
Mam pewien irytujący problem.
Otóż chcę wygenerować pdf'a, który ma wyświetlić dane typu STRING pobrane z MS-SQL. (kodowanie: windows-1250)
Gdy odpalam poniższy skrypt z poziomu przeglądarki wszystko jest ładnie cacy, polskie znaki wyświetlają się bez problemu w pdf'ie.
Jednak docelowo skrypt ma być odpalany z wiersza poleceń czyli:
Cytat
%PHP_DIR%php.exe %SCRIPT_DIR%nazwa_skryptu.php jakies_parametry
I tu zaczynają się schody. Bo wygenerowany pdf ma krzaki zamiast polskich znaków.
Oto moj skrypt
/* połącz z mssql */ <?php require_once("fpdf.php"); $query = "Zapytanko zwracajace jedna kolumne"; $rs = mssql_query($query); $pdf=new FPDFEX(); $pdf->AddFont('arial_ce','','arial_ce.php'); $pdf->SetTextColor(0,0,0); $pdf->AddPage('P'); $pdf->SetFont('arial_ce','', 6); $pdf->SetPageCount(2); while($row = mssql_fetch_assoc($rs)) { $pdf->Cell(30); //$pdf->Cell(30, 3, iconv("windows-1250", "iso-8859-2", $row['nazwa_zwroconej_kolumny']), 0, 1, "C", false); $pdf->Cell(30, 3, $row['nazwa_zwroconej_kolumny'], 0, 1, "C", false); } $pdf->Output("encodingtest.pdf", "F"); ?>
Wiem, że sprawa rozbija się o nagłówki http, przesyłane przez przeglądarkę. Dzięki nim silnik fpdf jakoś radzi sobie z kodowaniem.
W przypadku wywołania za pomocą php.exe tablica $_SERVER wygląda zupełnie inaczej.
Czy ktoś napotkał już na podobny problem i go rozwiązał ?
Dodam, że wszelkie zabawy z iconv w celu zmiany kodowania nie dały rezultatu i zamiast krzaków były inne krzaki lub "nie było niczego".
Dzięki z góry za odpowiedzi
