Как я могу удалить символы этих (?) Типов с помощью PHP? - PullRequest
0 голосов
/ 14 января 2012

Я занимаюсь разработкой приложения с использованием CodeIgniter / MySQL. Прошлой ночью я сохранил название в своей базе данных Msgstr "Атрибут-заполнитель HTML5". После сохранения при извлечении из базы данных для отображения отображаются некоторые странные символы, подобные этим: "Атрибут-заполнитель HTML5?".

Как мне избежать этих странных персонажей?

Ответы [ 3 ]

0 голосов
/ 15 января 2012

У меня была похожая проблема, когда я копировал данные из текстового редактора и вставлял их в phpmyadmin.Если вы делаете это, то ваш текстовый редактор может использовать другую кодировку.Я предлагаю вам скопировать данные в простой текстовый редактор, такой как блокнот, и вручную заменить апострофы.Вручную замените «на», и оно должно работать нормально.

0 голосов
/ 25 июня 2014

У меня есть проблема, связанная с кодировкой utf-8. Я был во всем Интернете (ну, не совсем), но довольно долго, и лучший совет был и состоит в том, чтобы установить кодировку заголовка в "UTF-8".

Тем не менее, я разрабатывал свое веб-приложение локально на моей машине, используя xampp (и иногда wamp, чтобы различать их, когда дело доходит до отладки моего кода). Все работало отлично =). Но как только я загрузил его в сеть, результат оказался не таким уж и джазовым (ошибки, которые вы бы получили, если бы вы установили заголовки на другую кодировку, такую ​​как «iso-8859-1»). Каждый заголовок в моем коде имеет кодировку UTF-8 в качестве кодировки по умолчанию, но я по-прежнему получаю те же «иероглифические штуковины». Тогда вы, ребята, дали мне понять, что проблема заключается не в моем коде, а в php.ini, в котором он запущен. Оказывается, на моей локальной машине был установлен php 5.5, а на cpanel, куда я загрузил, мое веб-приложение работало с нативным php 5.3. , Что ж, когда я изменил версию php, что мой cpanel был установлен по умолчанию на PHP 5.5, поверьте мне, ребята =) это сработало как шарм, точно так же, как если бы я был прямо там, на локальном хосте машины.

ПРИМЕЧАНИЕ : Пожалуйста, если у вас возникла та же проблема, что и у меня, просто убедитесь, что у вас версия PHP 5.5. Я отправляю это, потому что я чувствую вас, ребята. Ура!

0 голосов
/ 14 января 2012

Возможно, вам просто нужно убедиться, что таблица базы данных, в которой вы храните данные, настроена для хранения в UTF-8, а также HTML-страница, на которой отображаются данные, также должна быть явно установлена ​​в кодировку UTF-8.

URL вашего примера приложения (seekphp.com/look/phpquery-jquery-port-to-php/1758) показывает (через firebug для firefox):

Response Headers
Date    Sat, 14 Jan 2012 06:26:31 GMT
Server  Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
X-Powered-By    PHP/5.2.17
Keep-Alive  timeout=5, max=100
Connection  Keep-Alive
Transfer-Encoding   chunked
Content-Type    text/html

, но правильно закодированный выход UTF-8 покажет последнюю строку, равную

Content-Type    text/html; charset=UTF-8

Вы можете закодировать свой HTML путем вывода метатега в разделе HEAD документа:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

или PHP можно установить в заголовке:

header ('Content-type: text/html; charset=utf-8');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...