Discuz教程网

解决 iframe 页面乱码(转)

[复制链接]
authicon dly 发表于 2012-2-25 16:20:32 | 显示全部楼层 |阅读模式
今天公司的做web同事遇见一个问题,大概描述如下:
本公司的web页面为了支持国际化全部选择使用utf-8编码方式,由于客户需求需要iframe客户的一个页面,
客户页面的编码是gbk,但是没有charset声明。
这样就造成了我们iframe客户的页面时,因为我们的charset声明为utf-8且iframe里的页面没有编码声明造成iframe的内容都成了乱码。我们的编码方式是不能变的,客户也不会改变他们当前页面的编码方式同时也不能去添加一个charset声明(很不正规,不过没办法,客户是上帝)。
绞尽脑汁的想了半天终于想到了一个办法:
添加一个中间页面,这个页面显示的声明为客户页面的编码类型。这样客户页面的编码类型就从中间页继承下去了,不会出现乱码了。
假设有 最终页面为: ERR.htm
  1. <html><head><meta http-equiv=Content-Type content=texthtml; charset=utf-8 ></head><body>主页,编码为utf-8,明确指定了编码类型。<iframe src="目标页.htm" mce_src="目标页.htm" width="100%" height="100%" /></body></html>
复制代码

假设有 客户页面为 :目标页.htm
  1. <html><head></head><body>目标页面,编码为GBK,但是没有指明编码类型。</body></html>
复制代码

这样肯定是会显示乱码的。如果修改成这样:
OK.htm
  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>主页,编码为utf-8,明确指定了编码类型。<iframe src="中间页.htm" mce_src="中间页.htm" width="100%" height="100%" /></body></html>
复制代码

中间页.htm
  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk" /></head><body>中间页,编码为gbk,明确指定了编码类型。帮助目标页确定编码<iframe src="目标页.htm" mce_src="目标页.htm" width="100%" height="100%" /></body></html>
复制代码

目标页.htm
  1. <html><head></head><body>目标页面,编码为GBK,但是没有指明编码类型。</body></html>
复制代码
就能解决这个问题了,当然你应该有更好。希望不吝赐教



上一篇:隐藏版块的帖子 百度会收录的吗
下一篇:关于html中charset与&lt;title&gt;位置不同页面空白的问题及解决方法
authicon 没问题 发表于 2012-6-6 08:19:45 | 显示全部楼层
本帖最后由 没问题 于 2012-6-6 08:21 编辑

IF页可以用JS调用啊
authicon 悠悠草 发表于 2012-7-12 09:55:40 | 显示全部楼层
学习了~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 07:15

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表