SharePoint Alfresco PHP MySQL
О сайте Контакты
четверг, 20 ноября 2014 г.

Warning: htmlspecialchars() Invalid multibyte sequence - ошибка в Piwik

Иногда для некоторых русских строк в отчетах Piwik возникает ошибка: Warning: htmlspecialchars() Invalid multibyte sequence. Разработчики об ошибке знают, но на момент написания статьи баг так и не был исправлен. Здесь я кратко расскажу, как быстро починить Piwik.

Решение: находим файл и строку, про которую вещает ошибка и правим ее. Суть правки приведена ниже.

Было

return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);

Стало

// Исправление ошибки
if(function_exists('iconv')) $string = @iconv('UTF-8', 'UTF-8//IGNORE', $string);
return @htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);

Думаю, из кода понятно, в чем смысл правки. При выходе новых версий Piwik, если разработчики не поправят ошибку, придется вносить изменения снова. Это еще хорошо, что ошибка затрагивает только код, и не касается базы, ведь тогда много собранной статистики было бы испорчено.

Sergey Lysenko, четверг, 20 ноября 2014 г.

Комментарии: