2010-06-30 19 views
0

我有一个嵌入式Web服务器用C编写,使用uIP库,在一个微控制器中,输出下面的静态文本以响应http get。它如下所示为C文字字符串:我可以添加一些http GET响应来修复客户端Web浏览器中的编码问题吗?

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

紧接着自带的文档类型的字符串\,并要求该页面的\ ... \ </HTML>体。我没有写这段代码,但它已交给我。现在我在Opera,Firefox和Internet Explorer上试用它。整个网页使用Ansi/C并且没有特殊的字符串或字节。但它只能在Opera上正确加载和显示。由于某些原因,这个特定的基于uIP的网页浏览器将不会在IE 8或Firefox上呈现。

![替代文本] [1]

我能加入到HTTP头使基本/默认的C我的微web服务器编码/ ANSI代码页来为所有的浏览器正确检测,而不是只是歌剧?

回答

4

尝试更换您的静态文本到这一个:

"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字符,在静态的字符串,你做“\ H” 与 “文\ HTML”

注意:如果你的文件是UTF-8编码

0 “的charset = UTF-8” 的部分是唯一有用的
+0

就是这样。除非事实证明我需要charset = iso-8859-1(latin1)。 – 2010-06-30 23:55:49

+0

我认为这只是BRILLIANT,它可以很好地与Opera一起工作,但没有其他人,但突然间,最新的浏览器改变了他们的默认编码检测算法。 – 2010-06-30 23:56:51

+0

反斜杠的东西...... DOH !!!!!谢谢。 – 2010-07-01 00:00:12

相关问题