Есть ли некоторые http получить ответ, который я могу добавить, чтобы исправить проблему кодирования на веб-браузере клиента?

StackOverflow https://stackoverflow.com/questions/3154199

Вопрос

У меня есть встроенный веб-сервер, написанный в C, используя библиотеки Uip, в микроконтроллере, который выводит следующий статический текст в ответ на HTTP Get. Это показано ниже как буквальная строка C:

"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text\html\r\n"

Сразу после этого наступает octype String и ... u003C/html> Тело запрошенной страницы. Я не написал этот код, но это было передано мне. Теперь попробую это на Opera, Firefox и Internet Explorer. Вся веб-страница использует ANSI / C и без специальных строк или байтов. Но это загружается и отображает правильно только на Opera. По какой-то причине этот конкретный веб-браузер на основе UIP не будет отображаться на IE 8 или Firefox.

! [Alt Text] [1

Что я могу добавить в заголовки HTTP, чтобы заставить My Micro-Web-сервер кодирования базового / по умолчанию C / ANSI CODEPAGE должен быть обнаружен правильно для всех браузеров, а не только Opera?

Это было полезно?

Решение

Попробуйте заменить ваш статический текст на этот вопрос:

"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text/html; charset=utf-8\r\n"

ПРИМЕЧАНИЕ : символ Backslash ('') - это символ ESACPE, в вашей статической строке вы сделали « H» с вашим «текстом HTML»

ПРИМЕЧАНИЕ : Часть «CHARSET = UTF-8» полезна только в том случае, если ваши файлы являются кодированием UTF-8

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top