Kodowanie pliku: UTF-8/w.o.BOM
Baza danych - aktualnie: [utf_general_ci] zaşóĹÄ gÄĹlÄ jaĹşĹ
Wynik na stronie [HTML - UTF-8] zażółć gęślą jaźń połączenie BEZ set names oraz charset
Jeżeli użyje set names= 'utf8' dla parametrów oraz charset='utf8' dla połączenia mam: zaşóĹÄ gÄĹlÄ jaĹşĹ
a po wykonaniu $withCharset->query("UPDATE user SET `name`= 'zażółć gęślą jaźń' WHERE `id` = 1"); mam ma stronie i bazie takiego potworka: za?????Ä gÄ?lÄ ja???
Dopiszę trochę kodu, oto fragment klasy:
if ($this->code == true) { $charset = ";charset={$dbCode}"; try { $this->pdo = new PDO("mysql:host={$dbHost};dbname={$dbName}{$charset}", $dbUser, $dbPass, $names); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); }
Odwołanie:
$withoutCharset = new DB(false); //bez UTF8 - tutaj wyświetla się prawidłowo kod z bazy $withCharset = new DB(true); //z UTF8 - wyświetla się źle i zapisuje się nieprawidłowo - bez ogonków
Czego nie widzę? Dlaczego strona o kodowaniu UTF-8 (html, plik) oraz kodowaniu połączeniu zapisuje krzaki, zamiast polskich znaków tj. PHPMyAdmin?
Pomoże ktoś?
Szukając na Googlach, wszystkie odpowiedzi są takie, jakie stosuje.
Nie wiem jak stringa który wykrywany jest jako UTF-8, wyświetlany poprawnie bez charsetów, zapisać/przekonwertować aby ta poprawna wartość była zapisana do bazy danych i z kodowaniem charset=utf8 wyświetlała się poprawnie.
?