Как предотвратить показ символа символа вопроса, даже используя mb_substr и utf-8

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

Μήπως θα έπρεπε να   ... 

и я не могу удалить этот странный вопросительный знак. То, что я делаю, – это получить содержимое RSS-канала, которое также кодируется с помощью <?xml version="1.0" encoding="UTF-8"?> Используя греческий язык для контента.

Есть ли способ исправить это?

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <div><?php $entry->description = strip_tags($entry->description); echo mb_substr($entry->description, 0, 490); ?> ...</div> 

Related of "Как предотвратить показ символа символа вопроса, даже используя mb_substr и utf-8"

Это ответ

 mb_substr($entry->description, 0, 490, "UTF-8"); 

Я считаю, что проблема связана с вашей кодировкой. Вывод UTF-8, но ваш браузер не может интерпретировать один из символов. Символ вопросительного знака, как я его знал в прошлом, фактически генерируется браузером, поэтому нет поиска и замены … он касается исправления вашей кодировки или устранения неизвестных символов из строки перед ее выводом …

Если у вас есть доступ к источнику данных, вы можете проверить настройки БД, чтобы убедиться, что он закодирован правильно … если нет, тогда вам придется найти способ конвертировать данные с помощью php … not легкая задача …

Может быть:

 mb_convert_encoding($string, "UTF-8"); 

Вы пытались использовать эти, казалось бы, избыточные многобайтовые безопасные строковые функции, которые не находятся в ядре php?

http://code.google.com/p/mbfunctions/

Похоже, они предлагают функцию mb_strip_tags (), такую ​​как:

 if (! function_exists('mb_strip_tags')) { function mb_strip_tags($document,$repl = ''){ $search = array('@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments including CDATA ); $text = mb_preg_replace($search, $repl, $document); return $text; } }