вопрос
Дано:
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
внутри это:
Сравнил с исходным файлом дистрибутива, никаких различий.
Сайт находится в локалке, крутится на Open Server x64
Конфиг:
Так как сам не понимаю нифига в PHP прошу помощи сообщества в решении данной проблемы.
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 прошу помощи сообщества в решении данной проблемы.