Как убрать персонажа - PullRequest
5 голосов
/ 28 января 2010

У меня очень странная проблема. У меня есть один сайт php, который работает на двух серверах. Один из них - на Apache (Linux), а второй - на IIS (Windows). Linux Server, я просто запускаю его для демонстрации. IIS - это фактический хостинг, который мне нужен для размещения. Даже при том же коде, базе данных на сервере Linux нет символа. Но в IIS везде есть символы. Я проверил весь метатег, это utf-8. В базе данных сортировка также UTF-8. В базе данных mysql я получил эти символы, но почему-то в Linux, когда мы извлекаем содержимое из базы данных, они не отображаются. Это просто происходит на IIS. Кто-нибудь может указать, как я могу решить эту проблему? Спасибо.

Ответы [ 4 ]

2 голосов
/ 28 января 2010

Вам также необходимо указать UTF-8 в заголовках HTTP. С PHP:

<?php
header('Content-Type: text/plain; charset=utf-8');
?>

с Apache:

AddDefaultCharset UTF-8

Параметр Apache можно поместить в файл .htaccess .

2 голосов
/ 28 января 2010

У меня была похожая проблема некоторое время назад, здесь есть несколько полезных комментариев и информации - это PHP, но я верю, что теория будет такой же: Вопрос 386378

1 голос
/ 28 января 2010

Я проверил все метатеги, это utf-8.

Браузер не интерпретирует метатег. Это только запасной вариант, когда нет http-заголовков. Щелкните правой кнопкой мыши и выберите «View Page Info», чтобы увидеть, какая кодировка браузера на самом деле интерпретирует страницу в.

В базе данных сортировка также utf-8. В базе данных MySQL

Сопоставление не имеет значения для отображения символов. Однако кодировка имеет значение. Так же как и кодировка соединения.

0 голосов
/ 28 января 2010

Попробуйте проверить ответы html напрямую, используя что-то вроде Fiddler или Firebug . Проверьте, имеют ли ответы от IIS / Apache (который должен возвращать точно такой же текст):

  • Разные данные
  • Различные заголовки

Обратите особое внимание на заголовок Content-Type, в котором должно быть указано, в какой кодировке (utf-8, ISO / IEC 8859-1, Latin-1 и т. Д.) Находится возвращаемый текст.

...