Акцентированные символы, хранящиеся в базе данных MySQL

У меня есть webapp, который хранит французский текст, который потенциально включает символы с акцентом, в базе данных MySQL. Когда данные извлекаются непосредственно через PHP, акцентированные символы становятся gibbirish. Например: qui r fl te la liste.

Следовательно, я использую htmlentities() (или htmlspecialchars() ) для преобразования строки в html-объекты, и все в порядке. Однако, когда я прихожу к выводам данных, содержащих как акцентированные символы, так и элементы HTML, все становится все сложнее. Например, <strong> преобразуется в &lt;strong&gt; и поэтому не понимается браузером.

Как я могу одновременно получить символы с акцентом, правильно отображаемые, и мой HTML правильно обработал?

Спасибо!

Возможно, вы можете взглянуть на utf8_encode() и utf8_decode()

Вы должны использовать кодировку UTF-8 для хранения данных в базе данных – тогда все должно работать как ожидалось, и не htmlentities() .

Убедитесь, что все аспекты utf-8 – база данных, кодировка и сопоставление таблиц и соединение, как на стороне клиента, так и на стороне сервера. Все может работать, даже если не все – utf-8, но может быть неудачно, когда вы будете делать резервное копирование и восстановление – вот почему я рекомендую utf-8 по всем направлениям.

Вы можете установить Collation полей базы данных, содержащих акцентированный символ, в utf8_general_ci для их поддержки.

В конце концов вы также можете установить сортировку базы данных, поэтому все поля устанавливаются по умолчанию.