Как подружить Reformal.ru, UTF-8 и Explorer
Клиент попросил поставить на сайт закладку Reformal'a. О пользе и удобстве этого сервиса можно ещё поспорить, но как говорится: "Клиент всегда прав" :)
Ставится закладка на раз: регистрируемся, создаем проект, в проекте настраиваем виджет и вуаля - нам выдают код для установки на сайт. Код - просто тег SCRIPT с подключением JS файла с сайта Reformal.ru, генерируемого по нашим настройкам (специально посмотрел - ответ при запросе JS файла идет от PHP 5.1.6). Все работает везде, кроме, как не трудно догадаться - нашего горячё любимого Internet Explorera. В IE неправильно отображались заговлоки формы реформала:
Да, забыл сказать что сам сайт работает на Drupal 6, соотвественно используется кодировка UTF-8. В настройках виджета на реформале есть выбор в какой кодировке работает сайт, но IE на эти "выборы" не обращал внимания. Помыкавшись часик пришел к выводу что проблема не в IE (один из редких случаев когда он не при чем), а в самом реформале. JS файл закладки почему-то приходит в кодировке windows-1251:
Если гора не идет к магамеду в нужной кодировке - перекодируем гору, то есть файл сами.
И так, решение проблемы простое - берем строку запроса JS файла "http://reformal.ru/tab.js?..." и загружаем этот файл через браузер. Полученный текст файла сохраняем, кодировка его, как уже поняли - windows-1251. Далее берем редактор, который позволяет править и сохранять файлы в UTF-8 (я лично пользуюсь Eclipse), создаем пустой файл, к примеру "reformal_tab.js", вставляем в наш новый файл текст JS файла полученно с сайта реформала. И сохраняем файл "reformal_tab.js" указывая что сохранить его надо в кодировке UTF-8 (в случае Eclipse после создания пустого файла надо в свойствах указать, что кодировка файла UTF-8). В общем-то и все, теперь осталось только положить в папку сайта свой код закладки реформала и подключить уже наш файл, например так:
<script type="text/javascript" language="JavaScript" src="/misc/reformal_tab.js"></script>
После такой не хитрой операции все браузеры стали показывать форму реформала с нормальными надписями:
Метод хоть не совсем корректный, но ждать пока эту багу исправят сами реформальцы - не хочется, да и мне кажется что будет это не скоро. Сколько вижу этот проект - всё он в стадии бетта-тестирования...
- Метки:
- Drupal ,
- IE ,
- Explorer ,
- Reformal.ru ,
- UTF-8
Комментарии
Поставьте виджет от http://userecho.com там поддерживается utf-8
Отправить комментарий