slva2000
Профессор
- Регистрация
- 26 Ноя 2007
- Сообщения
- 106
- Реакции
- 49
- Автор темы
- #1
Бывают ситуации, когда выбора особо нет, а хочется, поэтому, приходится использовать старые версии CMS Shop-Script Premium на новой конфигурации сервера.
Проблема в том, что после обновления php до версии 5.4.x перестал корректно работать магазин. Выражалось это в отображении множества русских символов из базы или введённых в формах. Они просто затерались.
Проблема крылась в непредвиденной работе функции htmlspecialchars(); которая без указания дополнительных флагов затирала русские символы.
Пример:
Решение: добавить в /core_functions/functions.php:
и произвести замену всех вхождений:
htmlspecialchars
на
myhtmlspecialchars
Надеюсь с ошибками session_register() и session_unregister() все справятся самостоятельно.
Проблема в том, что после обновления php до версии 5.4.x перестал корректно работать магазин. Выражалось это в отображении множества русских символов из базы или введённых в формах. Они просто затерались.
Проблема крылась в непредвиденной работе функции htmlspecialchars(); которая без указания дополнительных флагов затирала русские символы.
Пример:
PHP:
echo htmlspecialchars('Привет', ENT_COMPAT, 'cp1251', false); //Привет
echo htmlspecialchars('Привет'); // ничего_не_отобразиться.
Решение: добавить в /core_functions/functions.php:
PHP:
function myhtmlspecialchars($string, $flags = null, $encoding = "cp1251", $double_encode = true) {
if ($flags === null) { $flags = ENT_COMPAT | ENT_HTML401; }
return htmlspecialchars($string, $flags, $encoding, $double_encode);
}
htmlspecialchars
на
myhtmlspecialchars
Надеюсь с ошибками session_register() и session_unregister() все справятся самостоятельно.