代码之家  ›  专栏  ›  技术社区  ›  Warren P

是否可以添加一些HTTP GET响应来修复客户端Web浏览器上的编码问题?

  •  0
  • Warren P  · 技术社区  · 14 年前

    我在一个微控制器中使用uip库用C语言编写了一个嵌入式Web服务器,它响应HTTP GET输出以下静态文本。它显示为C文本字符串:

    “http/1.0 200确定\r\n”
    “服务器:uip/1.0(http://www.something.com/)\r\n”
    “内容类型:文本\html\r\n”
    < /代码> 
    
    

    紧接着就是doctype字符串\和\…\</html>请求的页面正文。我没有写这段代码,但它是交给我的。现在我在Opera、Firefox和Internet Explorer上试用它。整个网页使用的是ANSI/C,没有特殊的字符串或字节。但它只能在歌剧中正确地加载和显示。出于某种原因,这种基于uip的特定Web浏览器不会在IE 8或Firefox上呈现。

    < P>![替换文本][1]

    我可以在HTTP头中添加什么来使我的MicroWeb服务器对基本/默认c/ansi代码页的编码在所有浏览器中都被正确检测到,而不仅仅是Opera?

    ICroController,响应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"
    

    紧接着就是doctype字符串\和\…\</html>请求的页面正文。我没有写这段代码,但它是交给我的。现在我在Opera、Firefox和Internet Explorer上试用它。整个网页使用的是ANSI/C,没有特殊的字符串或字节。但它只能在歌剧中正确地加载和显示。出于某种原因,这种基于uip的特定Web浏览器不会在IE 8或Firefox上呈现。

    !【ALT文本】〔1〕

    我可以在HTTP头中添加什么来使我的MicroWeb服务器对基本/默认c/ansi代码页的编码在所有浏览器中都被正确检测到,而不仅仅是Opera?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Yanick Rochon    14 年前

    尝试将静态文本替换为此文本:

    "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"
    

    注释 :反斜杠(“\”)字符是一个esacpe字符,在静态字符串中,您用“text\html”做了“h”

    注释 :只有当文件是utf-8编码时,“charset=utf-8”部分才有用。