За последние 24 часа нас посетили 22584 программиста и 1015 роботов. Сейчас ищут 636 программистов ...

Нужна помощь с кодировками

Тема в разделе "JavaScript и AJAX", создана пользователем DarkGod▲, 24 авг 2017.

Метки:
  1. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
    Добрый день, и снова я обращаюсь к вам, моим спасителям. Я понимаю, что это это слегка не PHP, всё же.
    Я очень долго мучаюсь с этой проблемой:
    При выводе записей с использованием JSON мы получаем ???, при использовании, даже,
    PHP:
    1. echo json_encode($data, JSON_UNESCAPED_UNICODE);
    слетает кодировка. Во всех файлах, скриптах, БД стоит кодировка utf8, но когда она проходит через JSON - меняется.Помогите пожалуйста найти, в чём ошибка.Спасибо.
    вот скрин, на всякий случай: (P.S: Всё началось после перехода на новый хостинг).
    [​IMG]
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    В htaccess установлена кодировка ?
    --- Добавлено ---
    не самого файла
     
  3. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
    @MouseZver Да, вот он
    Код (Text):
    1.  
    2. # php -- BEGIN cPanel-generated handler, do not edit
    3. # Сделайте пакет «ea-php56» языком программирования «PHP» по умолчанию.
    4. <IfModule mime_module>
    5. AddType application/x-httpd-ea-php56 .php .php5 .phtml
    6. </IfModule>
    7. # php -- END cPanel-generated handler, do not edit
    8.  
    9. # BEGIN cPanel-generated php ini directives, do not edit
    10. <IfModule php5_module>
    11. php_flag asp_tags On
    12. php_flag display_errors On
    13. php_value max_execution_time 90
    14. php_value max_input_time 60
    15. php_value max_input_vars 1000
    16. php_value memory_limit 128M
    17. php_value session.gc_maxlifetime 1440
    18. php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
    19. php_value upload_max_filesize 20M
    20. </IfModule>
    21. # END cPanel-generated php ini directives, do not edit
    22. AddDefaultCharset utf-8
    23. AddCharset utf-8 *
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    посмотри информацию о странице где скриншот, посмотри какая кодировка страницы вернулась в браузер
    --- Добавлено ---
    HTML:
    1. <meta http-equiv="Content-Type" content="text/html; charset=???
     
    DarkGod▲ нравится это.
  5. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
    @MouseZver
    Content-Type: text/html; charset=UTF-8
     
  6. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    данные, которые проходят через JSON достаются из БД?
    ИМХО из-за JSON не может быть проблем с кодировкой. Так что лучше вернуть всё как было вот тут:
    Скорее всего кодировка соединения сервера с базой данных установлена отличная от utf-8.
    --- Добавлено ---
    покажи код соединения с БД
     
    DarkGod▲ нравится это.
  7. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
    Знаете, я только заметил, что если при отправке запроса использую фреймворк RedBeanPHP, то всё в порядке
     
  8. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    На хостингах кстати в конфиге mysql уже обычно стоит utf8 по дефолту и нужды что-то проставлять в скриптах обычно нету. Ну это мой личный недавний опыт на 3х не маленьких хостингах.
     
    #8 Познающий php, 24 авг 2017
    Последнее редактирование: 24 авг 2017
    DarkGod▲ нравится это.
  9. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    значит в нём предусмотрительно реализован выбор кодировки соединения. Но по умолчанию, похоже, стоит не utf-8.
     
    DarkGod▲ нравится это.
  10. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
    Я кое-что нашёл, не подскажете как изменить значение на utf8?
    [​IMG]
     
  11. Познающий php

    Познающий php Новичок

    С нами с:
    23 мар 2017
    Сообщения:
    381
    Симпатии:
    74
    Я думаю так) Попробуй
    SET character_set_server = 'utf8';
     
  12. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2
  13. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    Вот эту штуку в php сразу после соединения с БД.
    --- Добавлено ---
    я не просто так просил код соединения с БД.
    выбор кодировки в объектно-ориентированном и в процедурном стилях отличаются.
    по ссылке оба варианта с примерами.
     
    DarkGod▲ нравится это.
  14. DarkGod▲

    DarkGod▲ Новичок

    С нами с:
    21 июн 2017
    Сообщения:
    12
    Симпатии:
    2