IE与firefox的编码问题

几天前我在页面中嵌入了一个包含google的iframe。
ie浏览的情况下,部分页面会出现frame的内容不正常,也就是表现为乱码。但frame的src的地址如果用ie打开,却可以正常显示。
而在firefox等浏览器下,确是一切正常,不会出现乱码。
我专门写了一个页面,内容非常简单,如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h3 class="entry-header">Google:</h3><br /><br />
<iframe name="GSearch" style="border: 1px solid #369;" width="600" height="300" src="http://www.google.com/search?q=分手后淫乱" scrolling="no" frameborder="0"></iframe>
</body>
</html>

这个页面在IE和firefox下浏览的情况就如下面2张图片显示的,

2006-01-02_18-59-36.jpg 2006-01-02_18-59-43.jpg
 
 
找了下原因。应该是ie对于iframe的src属性进行编码解析不正常引起的。
如果我将
src="http://www.google.com/search?q=分手后淫乱"
修改为
那么,在firefox和ie下,都将显示不正常。主要表现是
ie会把src后面的参数当成了scr的值的一部分来处理,同时又忽略中文
而firefox下则是中文部分无法显示。
 
所以,最根本的方法是对汉字进行unicode编码,然后传递给google,这样就不会出现问题了。而用html对汉字进行编码的方式,似乎还没有。
痛苦。。
 

Leave a Reply

Your email address will not be published. Required fields are marked *