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);