Проблема с русскими буквами в функции htmlspecialchars
tags: php
У меня случилось при работе с cp1251, но полагаю, что с любой не UTF-8 кодировкой может возникнуть.
$t = 'Русский язык'; var_dump(htmlspecialchars($t)); var_dump(htmlspecialchars($t, ENT_IGNORE|ENT_COMPAT)); var_dump(htmlspecialchars($t, ENT_IGNORE|ENT_COMPAT, 'cp1251'));Вывод:
string(61) "пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ" string(1) " " string(23) "Русский язык"
Нужно просто явно указать кодировку.
Дело в том, что кодировка по умолчанию для этой функции зависит от директивы конфигурации default_charset, а её обычно на хостингах выставляют в UTF-8.
Всем добра!
posted on december 04, 2012,
updated on august 25, 2025
Комментарии
Отправка новых комментариев временно отключена. Извините, работаем над этим.