Intereting Posts
QuickBooks обнаружил ошибку при анализе предоставленного текстового потока XML Будут ли PHP открываться после 301 переадресации? Как отключить перенаправление после login_check в Symfony 2 Фомирование содержимого, например, просмотр URL Как я могу найти город и штат с помощью почтового индекса или почтового кода во всем мире с помощью API или веб-сервиса с PHP? Калькулятор цены на основе Количество Запуск PHP через работу Cron Получить значение из объекта SimpleXMLElement Справка с PHP Pagination Script для базы данных с плоским файлом PHP – это возможность конвертировать массив в vars и передавать их где-нибудь Волшебные кавычки в PHP Как включить данные массива в CURLOPT_POSTFIELDS? Как получить переменные сеанса с php-сервера с помощью функции Ajax? (PHP HTML JS Ajax) Как я могу отправить опубликованные данные, когда пользователь сначала перенаправляется через Paypal? PHP DOM: получить NodeValue, исключая дочерние узлы

php удалить / идентифицировать этот символ

РЕДАКТИРОВАТЬ:

Хорошо, у меня есть некоторые данные (тонны данных), которые извлекаются из таблицы DB DB, ничего особенного в том, как ввод данных. При анализе данных и повторном отображении его в Firefox появляется этот символ . Когда я сравниваю его с записью БД, он выглядит как пространство (ничего особенного). Я использую все настройки PHP / MySQL по умолчанию.

Выполнение var_dump или print_r тоже не помогает.

Есть предположения?

Символ:

ОБНОВИТЬ:

Хорошо, я нашел персонажа, который вызывает проблему

Не путать с

(Дефис).

Символом является ХАРАКТЕР ЗАМЕНЫ (U + FFFD) . Он используется, когда в коде UTF произошла ошибка:

FFFD ЗАМЕНА ХАРАКТЕРА

  • используется для замены входящего символа, значение которого неизвестно или непредставимо в Unicode

В большинстве случаев это означает, что некоторые данные интерпретируются с кодировкой UTF, в то время как данные не кодируются с этой кодировкой, а другая.

Это символ, который недоступен в наборе символов текущего шрифта. Вам нужно будет закодировать его с помощью объекта HTML, как только вы узнаете, откуда он.

Этот символ означает, что есть код, который ваш браузер не знает, как отображать. Где-то вы устанавливаете значение символа для чего-то вне обычного диапазона символов для печати, и ваш браузер говорит вам, показывая стандартный «неизвестный» символ.

Единственный способ решить эту проблему – найти ошибку, которая в первую очередь помещает недопустимый символ в вашу строку.

Это обычная проблема при вставке текста из офисных продуктов Microsoft в html или в базу данных. Самые крупные нарушители кажутся emdash (как вы нашли) и умными цитатами. Одно из решений, которое я нашел, когда пользователи настаивают на использовании текстового редактора, который не соответствует требованиям, заключается в том, чтобы сначала вставить его во что-то вроде блокнота, чтобы лишить фирменные символы.

Очевидно, лучшим решением является просто не использовать слово для текстовых данных, предназначенных для веб-дисплея.

Добавлено только для того, чтобы предоставить некоторую информацию будущим читателям.

С уважением, Jc

Вы можете просматривать функции iconv () и mb_ *, если вы просто пытаетесь дезинформировать данные.

Наиболее вероятная причина, наблюдаемая в другом месте, заключается в том, что у вас есть проблема с кодировкой символов. PHP не очень хорошо разбирается в кодировании символов до версии 6 (имея дело с байтовыми массивами и оставляя проблемы с кодировкой более или менее до разработчика, с которыми приходится иметь дело).

Убедитесь, что вы показываете страницу в той же кодировке символов, что и ваша база данных, и убедитесь, что вы конвертируете весь пользовательский ввод в ту же кодировку символов (iconv () и mb_detect_encoding () помогут), прежде чем вставлять ее в базу данных.

О чем ты говоришь? Где вы это видели? Если на отображаемой странице в браузере вы можете сохранить файл с неправильной кодировкой. Используйте кодировку UTF или Unicode при сохранении страницы / исходного файла.

Очень смутный вопрос. Так или иначе, проверьте кодировку вашего сайта, кодировку данных вашей базы данных и так далее.

EDIT: Это ответ, потому что ошибка является несоответствием между кодировкой данных БД (возможно, на utf-8) и кодировкой webapp (возможно, на iso-8859-1). Таким образом, решение выполняется либо:

1.) резервное копирование и уничтожение БД И ТОГДА загрузите его с надлежащим кодированием. 2.) измените кодировку webapp, чтобы символы были правильно отображены.

С Уважением,

Почему бы не попробовать регулярное выражение в javascript против того, что Gumbo обозначил как «… символ … ЗАМЕНА ХАРАКТЕРА (U + FFFD)» после рендеринга веб-страницы – таким образом вам не придется связываться с БД (что вам кажется очень неохотно) и любые незначительные штрафные санкции выгружаются на сторону клиента.