У меня есть база данных, где все определено в UTF-8
(кодировки, сопоставления, ...).
У меня есть страница PHP, которая получает данные из этой базы данных и отображает их.
Эта страница PHP содержит какой-то жесткий текст со специальными символами, такими как é
, à
, ...
Моя страница PHP имеет метасимвол, определенный как utf-8
.
Я звоню mysql_set_charset("utf8");
Моя страница PHP написана в редакторе, настроенном для кодирования в utf-8 Unicode
(Dreamweaver CS4, другой опции utf-8 нет)
Все, что приходит из базы данных в порядке, но ...
Я не могу хорошо отображать жесткие специальные символы (é, à, ù, ...).
Та же проблема, когда я использую strip_tags(html_entity_decode($datafromdatabase));
для данных, поступающих из базы данных. Вот это действительно проблематично.
Что я могу сделать, чтобы продолжать использовать UTF-8, но иметь возможность хорошо отображать специальные символы без необходимости использовать их HTML-эквивалент (é, à, ...
)?
EDIT
Проблема со сложными символами исходила от страницы php, которая не была сохранена с использованием кодировки adhoc. Я создал новый документ, скопировал / вставил старый код в эту новую страницу и сохранил его на старой странице. Больше нет проблем со сложными персонажами.
Но у меня все еще есть проблемы с strip_tags(html_entity_decode($datafromdatabase));
использование $datafromdatabase = htmlentities(strip_tags(html_entity_decode($datafromdatabase)), ENT_COMPAT, "UTF-8")
не решает проблему. У меня есть странные символы, начинающиеся с # для каждого é, à, ù
в тексте, поступающем из базы данных (хранится как é, ...
)