Cześć,
mam problem z wyciąganiem danych z MySQL'a (celem strony jest wyświetlenie danych w formacie JSON). Kodowanie znaków w MySQL mam utf8_unicode_ci wszędzie (baza, tabele i kolumny), kodowanie pliku .php mam też utf-8 i nie chce działać. Dodawanie do bazy mi działa odkąd zaraz po połączeniu wykonuje się zapytanie:
$db->query("SET NAMES 'utf8'");
Wcześniej też nie chciało działać.
Teraz mam problem z wyciąganiem danych bo nic nie pomaga. Ogólnie pliki edytuje w Sublime 2 ale specjalnie pobrałem Notepada++ żeby sprawdzić kodowanie pliku i jest ustawione UTF-8 bez BOM.
Pierwszy raz mam taki problem. Wcześniej się z czymś takim nie spotkałem. Dodatkowo dziwne jest to że po ustawieniu meta charset na cp-1250 (dokument cały czas UTF-8 bez BOM) to wyświetla polskie znaki, ale z kolei przy kodowaniu do formatu JSON znowu pojawiają się krzaki zamiast liter.
PS. Do łączenia z bazą używam PDO.
Może ktoś się spotkał z czymś podobnym?
Edit:
Do utworzenia obiektu PDO używam:
$db = new PDO("mysql:host=". $hostname .";dbname=" .$databasename, $username, $password, array(
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
Tutaj też próbowałem zmieniać wszystko na utf8:
ale po restarcie serwera 2 wartości wróciły na latin1, więc może to coś tu jest nie tak.