Позвоните mysql_set_charset , чтобы сообщить базе данных, что вы собираетесь отправлять ей строки в кодировке UTF-8.
ввод новых данных в форму, в том числе "отлично работает ...
Ну, "
- это нормальная ASCII-цитата. “
и ”
- это не умные кавычки, которые не являются символами ASCII. Происходят ли они из Слова, неважно; все ваши символы не ASCII будут обрабатываться одинаково.
- значение от POST
- запускать через настройки очистителя HTML по умолчанию
Это плохая идея. Очиститель HTML следует запускать над строками, которые являются HTML, и вы намерены выводить его как HTML, для относительно редкого случая, когда вам нужно разрешить пользователям отправлять HTML.
Совершенно неправильно запускать весь вводимый текст. Обычно вам следует разрешить любой старый текст, а затем, когда вы выводите этот текст внутри HTML, вы должны вызывать htmlspecialchars()
поверх него.
В противном случае вы нарушаете возможность пользователей вводить <
и &
, как я в этом сообщении, и вы по-прежнему рискуете использовать межсайтовый скриптинг, когда вы выводите обработанные или не полученные данные.