Мне показалась интересной книга "Структура и интерпретация компьютерных программ"
(широко известная в узких кругах как SICP) Абельсона и Сассмана. Она хоть и старая,
но, как говорится, вечные ценности не тонут :)
Если я правильно понимаю, в PHP 5.4 дефолтная кодировка для htmlspecialchars() изменена на utf-8. php.net/manual/ru/function.htmlspecialchars.php
Попробуйте третьим параметром функции явно указывать windows-1251.
Тут еще (кроме неясностей со ссылкой) вопрос, почему mysql_select_db() вызывается _после_ mysql_query() ?
То есть, по логике сначала выбираем базу данных, к которой будет выполняться запрос, а потом уже делаем запрос к таблицам в ней.