2012-04-24 2 views
4

Привет, ребята У меня проблема, и я прочитал все темы, найденные в stackoverflow и других форумах, он размещен на хостинге, и у меня никогда не было проблем с их серверами, прежде чем, например, кавычки преобразованы в вопросительные знаки, нормальные не с черными бриллиантами или что-нибудь .. Вот что я пыталсяспециальные символы превращаются в вопросительные знаки php html

header('Content-Type: text/html; charset=utf-8'); 

и

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

это то, что я использую для DOCTYPE, если это имеет значение

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

Я использую UNITRON для OSX, чтобы написать свой код, и я проверил, что файлы должны включать в UTF-8

И текст, который я пытаюсь отобразить только HTML, в пределах страницы PHP.

У кого-нибудь есть ключ к тому, как мне помочь?

+2

Вы говорите о пользовательском вводе? Вы храните его в базе данных? Когда он «превращается в вопросительные знаки»? Этот вопрос требует много подробного добавления. – Cal

+0

Можете ли вы предоставить ссылку на страницу проблем? – AndrewR

+0

цитаты превращаются в вопросительные знаки? попробуйте использовать stripslashes() или mysql_real_escape_string() ... Пожалуйста, предоставьте дополнительную информацию. –

ответ

2

Вы должны использовать htmlentities для преобразования любых объектов в текст в html объекты; например, знак авторского права станет © &copy;

+0

На самом деле это не php, производящий этот текст, а html, он находится только на странице php. – user1250526

+0

Спасибо, это мое решение! – user1250526

+0

Если содержимое со специальными символами в нем не является динамическим, вы можете выполнить его через эту функцию один раз и вставить вывод на страницу html. Таким образом, вы не вызываете эту функцию для каждого запроса, уменьшая задержку. – bigblind

0

Просто угадайте: проверьте, что кавычки, которые у вас есть в html, являются кавычками. Они могут быть другими персонажами, которые выглядят одинаково, но не так. Это может произойти при копировании с другого источника.

Попробуйте переписать часть кода, вызывающую проблему вручную.

Если это не так, попробуйте использовать один или оба из этих функций PHP:
mb_internal_encoding
mb_http_output

Кроме того, ваш HTML не действует: HTML validator

3

Убедитесь, что ваш файл в кодировке UTF8 , например, с помощью Notepad ++ перейдите в «Encoding»> «Convert in UTF8» и сохраните файл.

+0

Он заявил, что файл находится в UTF-8. Однако правильный вариант: «Преобразовать в UTF-8 без спецификации» – sidon

0

Как сказал sidon Проверьте, что ваш файл закодирован в UTF8, например, с помощью Notepad ++ перейдите в раздел «Кодирование»> «Преобразовать в UTF-8 без спецификации» и сохраните файл.

Смежные вопросы