htmlspecialchars() в PHP >= 5.4.0

Как известно, у функции htmlspecialchars() есть необязательный параметр $encoding, которым определяется кодировка преобразуемой строки. До версии PHP 5.4.0 значением по умолчанию данного параметра была кодировка «ISO-8859-1«, после 5.4.0 кодировкой по умолчанию стала UTF-8. Таким образом, вызывая функцию как htmlspecialchars($str), где $str — строка в кодировке отличной от UTF-8 (например windows-1251), имеем на выходе пустую строку. Чтобы разрешить данную ситуацию, необходимо указать кодировку передаваемой строки при вызове функции, например вот так:

$str = htmlspecialchars($str, ENT_COMPAT, ‘cp1251’);

Документация: http://php.net/manual/ru/function.htmlspecialchars.php

Установка Memcached PHP под Windows

Понадобилось установить memcached на локалку специально для некого громоздкого скрипта, который без вышеупомянутого модуля работать не умеет.
Процедура не обошлась без половых актов — спешу поделиться впечатлениями. = )

P.S Гугл выдает достаточно заметок на эту тему, но обнаруживается ряд ньансов, о которых расскажу подобнее.
Читать далее Установка Memcached PHP под Windows

Белые или пустые страницы

Перевод статьи о причинах возникновения «белых» страниц вместо страниц форума с vbulletin.com:

Известные причины появления пустых или «белых» страниц:

1. Вы неправильно загрузили файлы vBulletin. Заново загрузите все файлы vBulletin (кроме изображений) и убедитесь в том, что вы загрузили их в ASCII формате, а также в том, что вы перезаписали старые файлы. Убедитесь в том, что вы загрузили файлы «Панели администратора», в каталог панели администратора(admincp), которая указанна в config.php. Далее, если у вас есть доступ в «Панель Администратора», запустите «Подозрительные версии файлов» в «Диагностике», чтобы убедиться в том, что загружены все файлы, соответствующие Вашей версии форума:
Читать далее Белые или пустые страницы

Набор символов п»ї вверху страницы

Бывает, что после каких-либо манипуляций с сайтом, будь-то одностраничный сайт или движок с набором php-скриптов, вверху странички, или страничек, появляются загадочные символы

п»ї

Происходит это из-за того, что какой-либо скрипт(ы) был сохранен в кодировке UTF-8 с BOM (Byte Order Mark), то есть с цифровой подписью, и эта подпись обрабатывается интерпретатором PHP, что и вызывает ошибку. Чтобы избавиться от этой проблемы нужно пересохранить скрипт(ы) без BOM. Если страничка одна, или не имеет includ`ов, то задача, разуммется, тривиальна. Но если речь идёт о серьезном движке, где достаточно много скриптов, которые, к тому же, еще и содержат includ`ы, то ручной перебор слишком утомителен. К счастью, для этих целей есть маленькая утилита bom-remover, которую можно использовать для поиска файлов сохраннёных с BOM и удаления цифровой подписи.

Но я бы рекомендовал пересохранять скрипты самостоятельно с помощью текстового редактора EmEditor.
Все что требуется от нас, это указать каталог, задать маску (по желанию) и нажать кнопку «Найти» и всё.
Ах да, и сказать большое спасибо автору программы. = )