Исходные данные такие, некое приложение пишет в базу текстовые данные, причем десктопная версия приложения пишет их нормальным текстом utf-8, а веб-версия этого приложения записывает тот же текст в таком примерно виде: Код (Text): & #1082 ; & #1077 ; & #1086 ; Одновременно работают с базой обе системы и записи в таблице появляются обоих типов. Отдельный интерфейс (php) должен читать эти записи из базы. Понятно, что записи с сущностями можно преобразовать через html_entity_decode. Но как их разделить? Как определить какую запись преобразовать, а какую нет?
Выясни откуда у тебя приходят записи в html_entity виде. И просто преобразовывай их в том месте перед записью в базу. В БД у тебя должны лежать нормальные данные.
Ну блин. Тогда берем записи и ищем комбинации &#, если есть - то там у нас html_entity. Если это встречается и в данных обычных строк, тогда мирно сосем лапу и думаем что сделать с автором стороннего приложения.