У меня есть форма с текстовой областью. Пользователи вводят блок текста, который хранится в базе данных.
Иногда пользователь вставляет текст из Word, содержащий умные кавычки или вставки. Эти символы появляются в базе данных как:,, 1003 *
Какую функцию следует вызывать во входной строке для , чтобы преобразовать умные кавычки в обычные кавычки, а электронные черты - в обычные тире ?
Я работаю в PHP.
Обновление: спасибо за все замечательные ответы до сих пор. Страница на сайте Джоэла о кодировках очень информативна: http://www.joelonsoftware.com/articles/Unicode.html
Некоторые примечания по моей среде:
База данных MySQL использует кодировку UTF-8. Аналогично, HTML-страницы, которые отображают контент, используют UTF-8 (Update :), явно указав мета-тип контента.
На этих страницах умные кавычки и пометки отображаются в виде ромба с вопросительным знаком.
Решение:
Еще раз спасибо за ответы. Решение было двояким:
- Убедитесь, что база данных и HTML
файлы были явно установлены для использования
Кодировка UTF-8.
- Используйте
htmlspecialchars()
вместо
htmlentities()
.