Кодировка сообщений

Рейтинг: 0Ответов: 2Опубликовано: 25.01.2015

Всем привет. Добавил дополнительные поля для обратной связи dle с помощью этого хака

Вроде бы все хорошо. Отправляешь сообщение - и информация только с этих полей отображается кракозябрами. Сам сайт имеет кодировку windows-1251, пробовал перекодировать эти файлы в windows-1251 через notepad++ - результата не дало.

Ответы

▲ 2Принят

Зачем менять кодировку файлов?!

Тебе надо менять кодировку отправляемого текста. В php кодировка меняется при помощи функции iconv(), её описание: http://www.php.su/iconv()

П.С. Если для проверки кодировки строки будешь использовать функцию mb_detect_encoding, то знай - она не работает. Т.е. если ты перекодируешь строку в windows-1251 и потом вызовешь mb_detect_encoding, то она тебе покажет utf8. Но на самом деле строка будет в нужной тебе кодировке ;)

▲ 1
$gaf = strip_tags( stripslashes( $_POST['gaf'] ));
$gaf = strip_tags( stripslashes( $_POST['gaf'] ));
$row['template'] = str_replace( "{%gaf%}", $gaf, $row['template'] );
$row['template'] = iconv("UTF-8", "windows-1251", $row['template']);