Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как исправить проблему добавления комментариев?

Как исправить проблему добавления комментариев?


     06.03.2020    комментарии, кодировка, проблема с комментариями    Общие вопросы по PHP, Ламерские вопросы    697

вопрос
Дано:
DLE 9,7 (1251) обновленный по феньшую (как велит документация) до 13.2(utf8).
В процессе обновления на каком то этапе(если не ошибаюсь то на последнем) скрипт предложил конвертануть БД в utf8mb4 ибо будут смайлики и прочие улучшайзеры. Я согласился.
Все прошло нормально, сайт отображается корректно, в БД видно:
ENGINE=MyISAM AUTO_INCREMENT=21172 DEFAULT CHARSET=utf8mb4;
Чуть позже выяснилось что не получается добавить камент.
Движок выдает:
Текст Вашего комментария слишком короткий и по мнению администрации сайта не несёт полезной информации.
В настройках движка стоит ограничение на 10 символов(не менее).
Пробовал убрать ограничение(поставил 0), каменты стали добавляться, но пустые.
В поиске решения набрел на этот вопрос где многоуважаемый Sander говорит что проблема в функции iconv_strlen.
Упоминание об этой функции нашел в двух файлах:
functions.php
functions.inc.php
внутри это:
function dle_strlen($value, $charset ) {

	if( function_exists( 'mb_strlen' ) ) {
		return mb_strlen( $value, $charset );
	} elseif( function_exists( 'iconv_strlen' ) ) {
		return iconv_strlen($value, $charset);
	}

	return strlen($value);
}

Сравнил с исходным файлом дистрибутива, никаких различий.
Сайт находится в локалке, крутится на Open Server x64
Конфиг:
Как исправить проблему добавления комментариев?

Так как сам не понимаю нифига в PHP прошу помощи сообщества в решении данной проблемы.

Ответа пока нет


1 комментарий

salam
Юзер

salam - 10 марта 2020 08:43 -

В общем сам нашел ответ на вопрос.
Вся проблема была в фильтре слов. Точнее в том что изначально фильтруемые слова были в кодировке 1251, после конвертации БД в utf8 выглядели кракозябрами. После удаления слов, каменты стали нормально добавляться.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх