Dzień dobry.
Męczę się z tym od wczoraj. Jakie ustawienia zmienić, czy to w php.ini, czy w skrypcie php, czy w bazie MySQL, żeby poprawnie były wczytywane nazwy zakodowane w utf8mb4?
Wcześniejsza baza była w zwykłym utf8. PHP wczytywało ją dobrze, jednak w phpMyAdmin widać było krzaczkii w miejscu polskich znaków. Przekonwertowałem bazę do mb4 jednak teraz, php wczytuje polskie znaki jako "?". Jak to naprawić?
Próbowałem:
$mysqli->set_charset("utf8mb4"); / wtedy wyświetla polskie znaki jako np. \u0119, zamiast ę
Próbowałem jeszcze różne funkcje php, ale bez skutku.
W pliku php.ini nie znalazłem wzmianki o mb4. Używam wersji 7.4 na Linux Mint 19.3
Prószę o pomoc.
Dzięki
M.
PS.
Dodam, że w konsoli, jak i w phpMyAdmin, polskie znaki wyświetlają się prawidłowo.
OK. Krok do przodu. Użyłem flagi ,JSON_UNESCAPED_UNICODE w JSONie i teraz wypisuje prawidłowo polskie znaki.
echo json_encode($dane, JSON_UNESCAPED_UNICODE);