accept-charset与Header P3P

作者:幻想曲 来源:幻想曲.net 时间:2009-04-01 18:43:00 

场景一:

A网站全站均为UTF-8编码,B网站全站为GB2312编码。

A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以收集提交上来的数据。

B网站此时开始提交数据,但提交上来的中文均为乱码。

现象的产生是由于二个网站编码不一致而导致的,一般情况下使二个网站的编码一致即可。

如果无法统一编码该怎么办?

FORM有一个accept-charset属性

<form method="post" action="..." accept-charset="utf-8">  
...   
</form>   

测试成功,但在IE下不成功,需要一个HACK来解决:
在form的onsubmit事件触发时动态改变document的编码,即:
onsubmit="document.charset='utf-8';"

场景二:

A网站提供一个页面供其它网站进行Iframe调用,该页面使用了SESSION,并进行了SESSION判断。

现象:

B网站IFRAME了A网站的页面,总显示SESSION过期,但直接在浏览器中打开该页面却又是正常的。

这是由于浏览器的安全性所致,SESSION依赖于COOKIE,A与B是二个完全不同的域,A网站没法去读取B网站下的COOKIE,所以SESSION也就失效了。

解决办法:

A网站的页面在输出头上附加一个P3P属性,值为CP=CAO PSA OUR即可。
如:

Response.AddHeader("P3P", "CP=CAO PSA OUR");   
if (Session[SESSIONKEY] == null)   
{   
   //TODO:其它操作   
}  

 

标签:UTF-8,编码,乱码,header
0
投稿

猜你喜欢

  • 什么是XSLT,什么是XPath

    2008-01-21 13:12:00
  • CSS系统默认颜色

    2009-01-04 16:53:00
  • ASP用csDrawGraph组件制作饼图、柱状图

    2008-04-25 22:58:00
  • 给在DreamWeaver编写CSS的人一些习惯建议

    2007-12-25 12:10:00
  • 如何动态产生变量?

    2009-11-18 16:33:00
  • asp入门之字符串函数介绍示例

    2008-11-04 20:18:00
  • SQL Server和MySql中创建临时表

    2008-06-19 13:31:00
  • 十六则Dreamweaver使用快技法

    2009-07-05 18:55:00
  • Flash在web客户端的潜在问题

    2009-05-20 12:11:00
  • 解析SQL Server中数据库快照的工作原理

    2009-02-19 17:04:00
  • 如何恢复/修复SQL Server的MDF文件

    2008-11-24 15:30:00
  • CSS代码实现下划线样式的输入框效果

    2010-03-16 12:42:00
  • 拖拽翻页(ThrowPage)详解 cool

    2009-12-02 09:54:00
  • 使用IIS调试asp程序检查错误的方法

    2007-09-13 21:54:00
  • css清除浮动“clear:both;”的应用

    2008-03-17 12:54:00
  • 去掉运行JavaScript时IE产生的警告栏

    2008-09-11 18:07:00
  • debug case: onsubmit=return false依然能提交

    2009-01-18 13:07:00
  • Javascript 闭包[翻译]

    2008-09-28 20:59:00
  • 基于display:table的CSS布局

    2008-10-30 10:38:00
  • SQL Server 2000的视图中必须小心使用*符号

    2008-12-05 15:38:00
  • asp之家 网络编程 m.aspxhome.com