Это в некоторой степени зависит от того, в чем проблема на самом деле ...
Если эти символы должны быть там (например, "Mañana" на испанском языке), тогда вы будетенеобходимо убедиться, что все в UTF-8 ... лучший способ:
1: проверить таблицы базы данных в кодировке "utf-8" (если не преобразовать их в utf-8)
2: как заметил Мартин, убедитесь, что в качестве соединителя базы данных используется utf-8, используя что-то вроде:
mysql_set_charset('utf8'); //note that MySQL uses no hyphen here
3: убедитесь, что в документе используется utf-8 (вы можете добавить заголовок вверху)
<?php header('Content-type:text/html;charset=utf-8'); ?>
4: просто чтобы быть в безопасности, добавьте его также в качестве метатега
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
HOWEVER
Вполне возможно, что в базе данных есть какие-то непонятные символы, где что-то вроде ISO-8859-1 было плохо переделано в UTF-8.В этом случае вы заметите такие вещи, как Â £ , где вы действительно хотите £ (поскольку символы UTF-8 содержат больше данных, чем символов ISO-8859-1, эти дополнительные данныеможет стать дополнительным персонажем, если вы не будете осторожны).
В этом случае вам лучше всего очистить базу данных (вы могли бы сделать что-то вроде UPDATE table SET field = REPLACE(field, '£', '£')
для общих «ошибок»), а затем преобразоватьвесь Kaboodle до UTF-8 (как указано выше), чтобы избежать повторения проблемы.