rozwiazanie: Passing charset in the DSN isn't supported until PHP 5.3.6
Wyglada to tak:
1. Pobieram dane CURLem ze strony z kodowaniem iso-8859-2
2. Robie iconv("iso-8859-2","UTF-8",$krotkiOpis);
3. Zapisuje do bazy w polu ktore ma kodowanie: utf8_general_ci (w tym momencie juz pokazuje krzaki)
4. Wyswietlam dane na strnie z kodowaniem UTF-8 i widze krzaki:
Tutaj fragmenty kodu:
$pdo = new PDO('mysql:host=localhost;dbname=nazwabazy;charset=utf8', 'user', 'haslo'); $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://wwwadresstrony'); curl_setopt($ch, CURLOPT_POST, 1);//przesylamy metoda post curl_setopt($ch, CURLOPT_POSTFIELDS, 'id_oferty='.$j.'&send=Szczeg%F3%B3y'); //dane do wyslania curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec ($ch); // print $contents; curl_close ($ch);
zmieniam kodowanei:
$oferta[$j][0]= iconv("iso-8859-2","UTF-8",$nazwa);
Binduje wartosci i wysylam do bazy.
Gdzie jest blad? Jak sobie z tym poradzic? (nie moge zmienic kodowania na zadnej ze stron ani w bazie)