Проблемы с отображением кириллицы в BreezingForms
На joomla 3 на данный момент есть лишь два бесплатных компонента для создания форм. Мой любимый chronofroms пока еще не адаптирован под новую joomla, поэтому столкнулся с компонентами Proforms и BreezingForms. Первый не понравился сразу, а со вторым появились проблемы с кириллицей.
Сама форма выводится в кодировке utf-8, но русские буквы отображаются вопросами. Сразу посмотрел в БД и увидел, что там указана кодировка latin1_swedish_ci, что явно нам не подходит. Вся процедура исправления сводится к замене кодировки полей в таблицах {prefix}_facileforms_elements и {prefix}_facileforms_forms. Возможно, по мере использования компонента, вам понадобится исправить кодировку и в других таблицах, но эти две отвечают за описание самой формы и её полей.
Если вы проверяете введенные данные через административный интерфейс, а не то по email, то кодировку сменить можно и для {prefix}_facileforms_subrecords.
Есть два варианта —
1. Делаем все через PhpMyAdmin или другие системы администрирования БД. Меняем кодировку всех полей на utf8_general_ci
2. Перед установкой компонента исправить SQL файл, находящийся в архиве с компонентом по адресу admin/sql/create_sql.php. Вместо:
1 | $_1 = "DROP TABLE IF EXISTS `#__facileforms_config`;"; |
прописываем:
1 | $_1 = "SET NAMES 'utf8';SET CHARACTER SET 'utf8'; DROP TABLE IF EXISTS `#__facileforms_config`;"; |
Тем самым мы указываем стандартную кодировку на utf-8