Warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument

Аватар пользователя exay

Вывалился вот такой ворнинг при просмотре ролей(http://www.mozhga.net/admin/people/permissions/roles):
Warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument в функции check_plain() (строка 1476 в файле /home/mozhganet/mozhga.net/includes/bootstrap.inc).

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя krak
krak 7 лет назад

подписываюсь.

Аватар пользователя RuGeN
RuGeN 7 лет назад

перечитал 100500 постов ... кто-нибудь решил этот вопрос, отпишитесь-помогите людям добрым =)

Аватар пользователя @nt1g0p.L_c
@nt1g0p.L_c 7 лет назад

Плюсую. Такая же проблема. Хостинг на Windows.

Аватар пользователя Strycker
Strycker 7 лет назад

Аналогичная проблема при заходе в раздел Настройки.

Аватар пользователя sv_ma3x
sv_ma3x 7 лет назад

Открываете файл на который он ругается: bootstrap.inc
Находите в нем строку 1476 и меняете
function check_plain($text) {
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}
на
function check_plain($text) {
return htmlspecialchars($text, ENT_QUOTES, 'cp1251');
}
и все ваши беды уйдут)))

Аватар пользователя Dock@drupal.org
Dock@drupal.org 7 лет назад
sv_ma3x написал:
Открываете файл на который он ругается: bootstrap.inc
Находите в нем строку 1476 и меняете

Патчить ядро зло, тем более таким образом. Более правильный патч:

function check_plain($text) {
if (drupal_validate_utf8($text))
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return htmlspecialchars($text, ENT_QUOTES);
}

Аватар пользователя oOLokiOo
oOLokiOo 6 лет назад
Dock@drupal.org написал:
sv_ma3x написал:
Открываете файл на который он ругается: bootstrap.inc
function check_plain($text) {
if (drupal_validate_utf8($text))
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return htmlspecialchars($text, ENT_QUOTES);
}

После данного метода у меня вылазит следующий эрор:

Работаю с французскими символами. База в юникоде (utf8_general_ci). Файлы тоже в UTF-8;
Не подскажите, как побороть?

Аватар пользователя acoder
acoder 7 лет назад
Dock@drupal.org написал:
Более правильный патч:

Спасибо. Тоже пришлось воспользоваться данным пачем.

Ядро трогать не люблю, но какие еще варианты?

Аватар пользователя Dock@drupal.org
Dock@drupal.org 7 лет назад

Да вот же, пока не нашел в чем дело. Проблема больше связана с хостингом, чем с друпалом. Пробовал на разных серверах - ошибка появляется только на одном из 4.

Аватар пользователя Sun-fire
Sun-fire 7 лет назад

Подписываюсь. Аналогичный трабл.

Аватар пользователя Dr.Osd
Dr.Osd 7 лет назад

+1. Аналогичная ситуация. Действительно, только на некоторых хостингах такая проблема.

Аватар пользователя Cyber
Cyber 7 лет назад

модуль search engine referers, в базу пишутся запросы, после патча ромбики показывает, но уже лучше, хоть не материться на варнинги

Аватар пользователя Dr.Osd
Dr.Osd 7 лет назад

Теперь такая же ошибка, не только при просмотре ролей но и при использовании поиска.

Аватар пользователя fess2005
fess2005 7 лет назад

Спасибо! помогло, но только в таком вот порядке
if ($php525) {
return htmlspecialchars($text, ENT_QUOTES);
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}

Аватар пользователя kpuk
kpuk 5 лет назад

выкурил проблему: оказалось файлы темы были сохранены в разной кодировке. нашёл 1 который был в windows-1251, тогда как остальные в UTF-8. После исправления стало ок.

Аватар пользователя organizm
organizm 4 года назад
kpuk написал:
выкурил проблему: оказалось файлы темы были сохранены в разной кодировке. нашёл 1 который был в windows-1251, тогда как остальные в UTF-8. После исправления стало ок.

Помогло. Сменил кодировку файлов своего модуля и ошибка ушла.

Аватар пользователя remix
remix 5 лет назад

Ошибка:

Warning: htmlspecialchars() [[url=http://domain.com/admin/people/permissions/function.htmlspecialchars]fun... Invalid multibyte sequence in argument в функции check_plain() (строка 1476 в файле/home/user/domains/domain.com/includes/bootstrap.inc).

Решение:
Ищем в файле includes/bootstrap.inc строку 1476 и переписываем функцию вот в таком виде:

function check_plain($text) {
if (drupal_validate_utf8($text))
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return htmlspecialchars($text, ENT_QUOTES);
}

Аватар пользователя Иван888
Иван888 5 лет назад

А у меня вот так:

Warning: htmlspecialchars() [function.htmlspecialchars]: Invalid multibyte sequence in argument в функции check_plain() (строка 1559 в файле /home/u9311/domains/domain.com/includes/bootstrap.inc).

Аватар пользователя mamba
mamba 4 года назад

Была такая ошибка. Отключил модуль  Textimage и всё стало работать. Так что оказывается и от модулей зависит. Хотя на локалке всё было нормально, без ошибок. На хостинг перенес и вылезли ошибки. Кстати, друпалхостинг. только им пользуюсь 3 года. Всем советую.

Аватар пользователя RASSEL
RASSEL 4 года назад

А у меня эта фишка начала появляться после создания шаблона синонима! Только ругался на строку 1566.
Переделал сам шаблон, заменил одну из составляющих шаблона ... все вернулось на места!!!
Так что тоже на заметку всем.

Аватар пользователя tlito
tlito 4 года назад

я пользовался комментарием 11:
https://www.drupal.org/node/1090290

Confirming the issue. User Dock from Russian Drupal community site got some solution (though it require to patch the Drupal's Core, so you should only use it as a temporary one for the first time in case that warnings annoys you much).

Edit the bootstrap.inc file in the 'includes' directory in your Drupal installation, line 1476:

Comment this line:

return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');

And insert next:

if (drupal_validate_utf8($text)) return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return htmlspecialchars($text, ENT_QUOTES);
It helped me and other people, but the correct solution without any manual changing the Core files must be finded.

Аватар пользователя KUA-AINA
KUA-AINA 3 года назад

аналогично сделала, ошибка исчезла

Аватар пользователя daniilbosov
daniilbosov 3 года назад
tlito написал:
return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
And insert next:
if (drupal_validate_utf8($text)) return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
return htmlspecialchars($text, ENT_QUOTES);

мне тоже помог этот патч

Аватар пользователя tlito
tlito 3 года назад

Мне перестало помогать. Друпал 7.37 выдает еще больше ошибок.
PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xE2\xEE\xEF\xF0\xEE\xF1...' for column 'message' at row 1: INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => page not found [:db_insert_placeholder_2] => ..... [:db_insert_placeholder_3] => N; [:db_insert_placeholder_4] => 4 [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => http://site.ru/%E2%EE%EF%F0%EE%F1-%EE%F2%E2%E5%F2 [:db_insert_placeholder_7] => http://yandex.ru/clck/jsredir?from=yandex.ru%3Byandsearch%3Bweb%3B%3B&te... [:db_insert_placeholder_8] => 46.159.235.220 [:db_insert_placeholder_9] => 1433269797 ) в функции dblog_watchdog() (строка 160 в файле modules/dblog/dblog.module).

теперь я пользуюсь таким решением которой под номером #21 тут https://www.drupal.org/node/1430166

function check_plain($text) {
return htmlspecialchars(mb_convert_encoding($text, "UTF-8", "auto"), ENT_QUOTES, 'UTF-8');
}