За последние 24 часа нас посетили 20756 программистов и 1707 роботов. Сейчас ищут 1694 программиста ...

Ошибка с кодировкой после обработки JavaScript

Тема в разделе "JavaScript и AJAX", создана пользователем Curt54rus, 29 авг 2018.

  1. Curt54rus

    Curt54rus Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Добрый день!

    Подскажите пожалуйста, есть функция JavaScript после которой открываются еще 20 новостей. => "Показать еще"

    Так вот после нажатия на эту кнопку - новость отображается в глючной кодировке... Хотя в БД все в одной кодировке.

    В JavaScript не разбираюсь, но получается в каких-то кракозябрах... подскажите кто знает, в каком направлении копать эту проблему?

    Сайт: binkra.ru, взизу под новостями есть кнопочка!

    Заранее спасибо большое!
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Сайт на windows-1251, для которой ф-ция JS, видимо, не адаптирована.
     
  3. Curt54rus

    Curt54rus Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Ну так в том и вопрос, где в функции этой добавить charset параметр или что? просто на JavaScript не кодил никогда
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Curt54rus, перед выдачей ответа на ajax-запрос отправьте заголовок: header('Content-type: text/html; charset=windows-1251') или
    header('Content-Type: application/json'; charset=windows-1251'), если отдаёте json.
     
  5. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    В исходном коде в 1531 строке не та кодировка:
    Код (Text):
    1. <script type="text/javascript"  charset="utf8">
    коммерческий двиг dle - они поддержку не оказывают?
     
    #5 keren, 29 авг 2018
    Последнее редактирование: 29 авг 2018
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Или попробуйте просто задать дефолтную кодировку. Вижу, она у вас не задана:
    Код (Text):
    1. Content-Type: text/html
    Судя по данным из консоли, страницы вычитываются AJAX'ом целиком – б-Э-Э.
     
  7. Curt54rus

    Curt54rus Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    Мне такое чудо в наследство на работе досталось, судя по движку - оно очень древнее, лет наверное 10 всему этому....

    насчет строчки с кодом utf8 это ни на что не влияет, это уже сам пытался городить... не помогло

    в head теге не оно?

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Нет конечно. И дефолтная кодировка на сервере не для тегов выставляется, а для HTTP-заголовков. JS-коду пофиг, что вы в этих тегах напишете. Их по идее вообще не должно быть! В ответ на AJAX-запрос нужно выдавать только подгружаемый контент, а не всякую хрень.
     
  9. Curt54rus

    Curt54rus Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    проблему решил прописав в начало index.php
    header('Content-Type: text/html; charset=windows-1251');


    Всем отписавшимся еще раз спасибо, тему можно закрывать!
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Да уж решил. И пофиг, что в результате была выявлена еще одна нехилая проблема. Клиент не в курсе, можно подзабить.

    Это так вы собрались цифровую экономику поднимать?
     
  11. Curt54rus

    Curt54rus Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    5
    Симпатии:
    0
    :) вы мне что предлагаете? переписать код этих модулей для AJAX подгрузки новостей?

    или вы про какую проблему?
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Там нечего особо переписывать. Но для используемой платформы наверняка можно найти что-то готовое, потому что такой костыль – это ненормально. Хотя от DLE это можно ожидать :)