Я имею дело с веб-сервером LAMP. У меня есть формы, которые пользователи используют для отправки текста, который хранится в текстовом поле в MySQL. Часто этот текст копируется и вставляется из продуктов Microsoft Office, поэтому я получаю много умных цитат и ошибок. Эти символы отображаются правильно, если я получаю их из базы данных и отображаю их на веб-странице, но у меня возникают проблемы с отправкой текста в электронном письме с использованием класса phpmailer. Я получаю материал, который выглядит следующим образом: (где это должен быть emdash).
Одна вещь, которая может быть важна: если я открою консоль в mysql и выберу поле, содержащее в себе emdash или умную кавычку, оно будет некорректно отображаться на моей консоли: однако, как указано выше, если моя php-страница (с использованием PDO) выбирает поле и отображает его, оно будет правильно отображаться в браузере (в данном случае в качестве emdash).
Я не уверен, есть ли способ выбрать набор символов в phpmailer (может быть, это где-то простая настройка?) Или есть лучший способ обойти эту проблему. Я думаю, что мне должно быть ясно, что «поиск и замена умных кавычек и вставок на их обычные эквиваленты» - это НЕ тот ответ, который я ищу (надеюсь, это не единственное решение).
Я нашел эту информацию:
Моя php-страница: utf-8
кодировка клиента mysql: latin1
Серверная кодировка mysql: latin1
Набор символов phpmailer: iso-8859-1