- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Проблема: практически везде, где что-то подгружается через javascript, текст вставляется (и выводится) кракозябрами.
На сайте кодировка utf-8.
Как пример, вставляется fckeditor через <script.. -- кнопки и всё кракозябрами. Открываю, пересохраняю в win-1251 - и вуаля, нормально!
Читал, что по умолчанию браузеры выводят в cp1251, а если подгружаемый файл в utf-8, будут кракозябры..но как это исправить, непонятно. Файлов довольно много, все кодировать в win-1251? добавлять в начало каждого <? hheader('Content-type: text/html; charset=utf-8'); ?> - можно, но как быть с .js файлами? да и много их всех разных непойми где.
Да и не думаю, что разработчики не исправили бы такую явную ошибку, значит что-то у меня не то с настройками сервера?
сначала эту проблему заметил на установленном Drupal 7, некоторые ajax-выводимые комментарии выводились кракозябрами. думал, может не так поставилось что.
потом установил instantcms -- та же беда.
Centos, в апаче стоит adddefaultcharset utf-8
что посоветуете?
---------- Добавлено 02.11.2012 в 03:29 ----------
Как пример, вставляется fckeditor через <script.. -- кнопки и всё кракозябрами.
выглядит это дело, как будто он в кодировке utf-8, а я указал принудительно cp1251
---------- Добавлено 02.11.2012 в 03:34 ----------
также пробовал добавлять в .htaccess
CharsetDisable On
</IfModule>
или
AddCharset utf-8 *
<IfModule mod_charset.c>
CharsetSourceEnc utf-8
CharsetDefault utf-8
</IfModule>
А что на самом деле у Вас отдается браузеру сервером в Content-Type ? Посмотрите файрбагом или еще чем-нибудь типа того.
Если для javascript файлов там 1251, то пинать админов сервера, учитывая то как Вы описали ситуацию, при таком раскладе, надо смотреть вживую.
Если сайт работает в utf-8, естественно скрипты (содержащие текст для вывода) тоже должны быть закодированы в этой кодировке.
Браузер подключает файлы в той кодировке в которой они есть. Если на сайте utf-8, а в подключаемом файле windows-1251 тогда будут крокозябры.
добавлять в начало каждого <? hheader('Content-type: text/html; charset=utf-8'); ?>
Зачем? Одной строчкой в htaccess пропишите кодировку для заголовков.
некоторые ajax-выводимые комментарии выводились кракозябрами.
Значит где-то идет расхождение в кодировках. Ajax имеет работать и с cp1251 и с utf-8.
Как пример, вставляется fckeditor через <script..
У script допустимо указывать атрибут charset (например, charset="UTF-8")
adddefaultcharset utf-8
Если записано в "правильном" регистре - проверить, отрабатывает ли? (загрузить "просто" HTML-ку и посмотреть заголовки сервера)
Возможно, AllowOverride не даёт (видимо, VPS?) или другой .htaccess перебивает.
я склоняюсь к мысли что что-то не то с настройками сервера вообще и апача в частости, ибо 2 разных движка выдают одинаковые по сути ошибки с кодировкой
---------- Добавлено 02.11.2012 в 11:44 ----------
поставил в настройках апача для всех AddDefaultCharset utf-8
пара сайтов, которые были на win-1251, сразу стали в кракозябрах
для каждого через ISPManager исправил AddDefaultCharset cp-1251 -- стали правильно, значит, указание кодировки работает.
а у этих.. непонятно что
---------- Добавлено 02.11.2012 в 12:32 ----------
А что на самом деле у Вас отдается браузеру сервером в Content-Type ? Посмотрите файрбагом или еще чем-нибудь типа того.
Если для javascript файлов там 1251, то пинать админов сервера, учитывая то как Вы описали ситуацию, при таком раскладе, надо смотреть вживую.
проверил 1 из js файлов, Вы правы, Content-Type application/x-javascript; charset=windows-1251
в настройках апача для домена указана дефолтная utf-8, я даже в директорию с js закинул .htaccess с AddDefaultCharset utf-8, скрипт пересохранил в utf-8. а заголовок отдаётся charset=windows-1251, почему так?
попробуйте вызвать из адресной строки тот запрос, который вы отправляет обработчику ajax
попробуйте вызвать из адресной строки тот запрос, который вы отправляет обработчику ajax
я эту часть движков не трогал.. могу открыть .js и посмотреть заголовки. судя по всему, в этом всё дело. осталось только побороть
в самом начале скрипта, который формирует ответ, попробуйте явно указать кодировку
header("Content-Type: text/html; charset=UTF-8",true);
в настройках апача для домена указана дефолтная utf-8, я даже в директорию с js закинул .htaccess с AddDefaultCharset utf-8, скрипт пересохранил в utf-8. а заголовок отдаётся charset=windows-1251, почему так?
nginx? десять nginx-ов
обработчик аякса работает с базой?
коннект к базе с правильной кодировкой?
А никто и не говорит - трогать
Вы отправляете аякс запрос в каком-то виде... возьмите подставьте это запрос в адресную строку.
Сервер должен что-то ответить, но может и не ответить, если post.
обработчик аякса работает с базой?
коннект к базе с правильной кодировкой?
А никто и не говорит - трогать
Вы отправляете аякс запрос в каком-то виде... возьмите подставьте это запрос в адресную строку.
Сервер должен что-то ответить, но может и не ответить, если post.
я не знаю как движок их отправляет.. там где есть такое, скрипт запакован eval(function(p,a,c,k,e,r), там где вставляется fckeditor (ифреймом) при переходе по ссылке ифрейма - белый экран
fckeditor вставляется в кривой кодировке. у него есть файл локализации на русский. он сохранен в утф-8. если пересохранить в 1251 - то на сайте (кодировка утф8) выглядит нормально. если он в утф-8, то выглядит как будто он в утф-8 и указано что кодировка должна быть 1251.
nginx? десять nginx-ов
в nginx.conf стояло
charset win-1251;
исправил на
charset utf-8;
ребутнул. js отдаются так же в 1251 =(