У меня есть HTML-форма, а некоторые пользователи копируют/вставляют текст из MS Word. Когда есть одиночные кавычки или двойные кавычки, они переводятся в забавные символы, такие как:Почему цитаты превращаются в забавные персонажи при отправке в HTML-форме?
«Â € Â ™ и Ã ¢ Â € Â ™
Столбец базы данных сверки utf8_general_ci.
Как получить соответствующие символы для отображения?
Редактировать: Проблема решена. Вот как я его исправил:
Ran mysql_query("SET NAMES 'utf8'");
перед добавлением/возвратом из базы данных. (благодаря комментарию Донала ниже).
И несколько нечетный, при отображении была применена функция php urlencode($text)
, поэтому ее необходимо было удалить.
Я также удостоверился, что заголовки для страницы и запрос/ответ ajax были все utf8.
MS Word меняет котировки на «умные кавычки», которые ничего, кроме умных. Они используют «кодовую страницу» Microsoft вместо Unicode. –
Вы также заметите это с некоторыми дефисами. – Buggabill
Если все кодировки указаны правильно, они должны быть автоматически преобразованы в их эквивалент Unicode. Я сомневаюсь, что проблема специфична для Word; попробуйте ввести, например. Alt + 130 (é), и посмотрите, получилось ли это чисто. – Thomas