¿Hay alguna respuesta HTTP que pueda agregar para solucionar un problema de codificación en el navegador web del cliente?
-
01-10-2019 - |
Pregunta
Tengo un servidor web integrado escrito en C utilizando bibliotecas UIP, en un microcontrolador, que genera el siguiente texto estático en respuesta a una get HTTP. Se muestra a continuación como una cadena literal C:
"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text\html\r\n"
Justo después de eso viene la cadena Doctype y el ... u003C/html> cuerpo de la página solicitado. No escribí este código, pero me lo entregaron. Ahora lo pruebo en Opera, Firefox e Internet Explorer. Toda la página web está utilizando ANSI/C y no hay cadenas o bytes especiales. Pero se carga y se muestra correctamente solo en Opera. Por alguna razón, este navegador web basado en UIP en particular no se representará en IE 8 o Firefox.
! [texto alt] [1
¿Qué puedo agregar a los encabezados HTTP para hacer que mi codificación de servidor micro-WEB de la códigos de códigos C/ANSI predeterminada se detecte correctamente para todos los navegadores, y no solo Opera?
Solución
Intente reemplazar su texto estático a este:
"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"
NOTA : El personaje de Backshash ('') es un carácter de Esacpe, en tu cadena estática, hiciste " h" con tu "texto html"
NOTA : La parte "Charset = UTF-8" solo es útil si sus archivos son UTF-8 codificados