![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 29.03.2011 Ostrzeżenie: (10%)
|
czesc mam nastepujacy problem.
mam aplikacje w php ktora dodaje rekordy do bazy. uzytkownik wpisuje teksty w inputach i texareach. wszystkie skrypty sa w utf-8
dla testu dodalem fragment sprawdzajacy kodowanie stringu wstawianego do bazy wynik to iso-8859-1 wie ktoś może dlaczego? problem jest w tym ze gdy potem generuje pdf'a uzywajac klasy mpdf w miejscach gdzie maja byc polskie znaki w pdf-ie w rekordach dodanych przez aplikacje widoczne sa krzaki, co ciekawe w bazie sa polskie znaki i skrypt php wyswietlacy rekordy widza polskie znaki. Jedynie klasa mpdf ma problem z tak dodanymi rekordami. DLACZEGO? Ten post edytował pdfpl 29.03.2011, 11:09:33 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%)
|
W FPDFie jest podobny problem, który można rozwiązać zmieniając kodowanie poprzez np: iconv("utf-8", "windows-1250", $string)
Może u Ciebie będzie podobnie |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 29.03.2011 Ostrzeżenie: (10%)
|
niestety obawaim sie ze to nie takie proste. tego tez wczesnierj probowalem ale nie dalo rozwiazania. zarowno iconv na strungu wstawainego do bazy jak i iconv na stringu wysweitlanego w pdf-ie nie pomagaja. Ma ktos moze jakichs inny pomysł jak wstawiac stringi w kodowaniu utf-8?
rozwiazaniem okazalo sie - usuniecie wszelkich kodowan z pliku (zapytania do bazy danych), - ustawienie $mpdf=new mPDF('utf-8','A4','','');, - ustawienie formatu kodowania pliku na utf-8 w notepad++; - ustawienie pliku polaczenia w nastepujacy sposob: header("Content-Type: text/html; charset=utf-8"); ini_set('default_charset', 'utf-8'); //polaczenie MySQL $serwer="..."; $login="..."; $haslo="..."; $baza="..."; mysql_connect($serwer, $login, $haslo) or die(mysql_error()); //test if (!mysql_connect($serwer, $login, $haslo)) die("Can't connect to database"); if (!mysql_select_db($baza)) die("Can't select database"); //polskie znaki z bazy mysql_query('SET NAMES utf8'); rozwiazaniem okazalo sie - usuniecie wszelkich kodowan z pliku (zapytania do bazy danych), - ustawienie $mpdf=new mPDF('utf-8','A4','','');, - ustawienie formatu kodowania pliku na utf-8 w notepad++; - ustawienie pliku polaczenia w nastepujacy sposob: header("Content-Type: text/html; charset=utf-8"); ini_set('default_charset', 'utf-8'); //polaczenie MySQL $serwer="..."; $login="..."; $haslo="..."; $baza="..."; mysql_connect($serwer, $login, $haslo) or die(mysql_error()); //test if (!mysql_connect($serwer, $login, $haslo)) die("Can't connect to database"); if (!mysql_select_db($baza)) die("Can't select database"); //polskie znaki z bazy mysql_query('SET NAMES utf8'); |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.06.2010 Ostrzeżenie: (0%)
|
Rozwiązanie prawidłowe. Mi też pomogło.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 18:40 |