高山流水
msgbartop
动之则分,静之则合,无过不及,随曲就伸。
msgbarbottom

30 十 08 opac资源整合中ajax传递参数乱码

ajax应用中,最常碰到的问题便是:你从某一个编码(如utf-8)的页面上,向另一不同编码(如gb2312)的页面传递中文参数,从而出现乱码问题,最要命的是,这两边,你都无法做任何改变。

一种简单有效的解决办法是在ajax发出请求的时候,用escape()函数将参数进行编码。它返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 “%20″ 。字符值大于 255 的以 %uxxxx 格式存储。虽然有教程指出escape 方法不能够用来对统一资源标示码 (URI) 进行编码,而应该用encodeURI 和encodeURIComponent 方法来处理,但就我的使用情况来看,escape()方法有效得多。

另一种方法是引入一个第三方页面做中转,在该页面上进行编码处理。
(全文…)

Tags: , , , , ,