Добрый день, и снова я обращаюсь к вам, моим спасителям. Я понимаю, что это это слегка не PHP, всё же. Я очень долго мучаюсь с этой проблемой: При выводе записей с использованием JSON мы получаем ???, при использовании, даже, PHP: echo json_encode($data, JSON_UNESCAPED_UNICODE); слетает кодировка. Во всех файлах, скриптах, БД стоит кодировка utf8, но когда она проходит через JSON - меняется.Помогите пожалуйста найти, в чём ошибка.Спасибо. вот скрин, на всякий случай: (P.S: Всё началось после перехода на новый хостинг).
@MouseZver Да, вот он Код (Text): # php -- BEGIN cPanel-generated handler, do not edit # Сделайте пакет «ea-php56» языком программирования «PHP» по умолчанию. <IfModule mime_module> AddType application/x-httpd-ea-php56 .php .php5 .phtml </IfModule> # php -- END cPanel-generated handler, do not edit # BEGIN cPanel-generated php ini directives, do not edit <IfModule php5_module> php_flag asp_tags On php_flag display_errors On php_value max_execution_time 90 php_value max_input_time 60 php_value max_input_vars 1000 php_value memory_limit 128M php_value session.gc_maxlifetime 1440 php_value session.save_path "/var/cpanel/php/sessions/ea-php56" php_value upload_max_filesize 20M </IfModule> # END cPanel-generated php ini directives, do not edit AddDefaultCharset utf-8 AddCharset utf-8 *
посмотри информацию о странице где скриншот, посмотри какая кодировка страницы вернулась в браузер --- Добавлено --- HTML: <meta http-equiv="Content-Type" content="text/html; charset=???
данные, которые проходят через JSON достаются из БД? ИМХО из-за JSON не может быть проблем с кодировкой. Так что лучше вернуть всё как было вот тут: Скорее всего кодировка соединения сервера с базой данных установлена отличная от utf-8. --- Добавлено --- покажи код соединения с БД
Знаете, я только заметил, что если при отправке запроса использую фреймворк RedBeanPHP, то всё в порядке
На хостингах кстати в конфиге mysql уже обычно стоит utf8 по дефолту и нужды что-то проставлять в скриптах обычно нету. Ну это мой личный недавний опыт на 3х не маленьких хостингах.
значит в нём предусмотрительно реализован выбор кодировки соединения. Но по умолчанию, похоже, стоит не utf-8.
Вот эту штуку в php сразу после соединения с БД. --- Добавлено --- я не просто так просил код соединения с БД. выбор кодировки в объектно-ориентированном и в процедурном стилях отличаются. по ссылке оба варианта с примерами.