今天,菜鸟我在js问试用showModalDialog中传递参数时到了页面时候英文和数字正常,但是中文出现了乱码。在查了相关资料的时候总结如下。
一:
更改webconfig。
<globalization
requestEncoding= "utf-8 "
responseEncoding= "utf-8 "
fileEncoding="utf-8"
/>
requestEncoding: 它用来检查每一个发来请求的编码.
responseEncoding: 用于检查发回的响应内容编码.
fileEncoding: 用于检查aspx,asax等文件解析的默认编码.
二:
使用encodeURIComponent方法:
showModalDialog(url,'','status:no;dialogWidth:400px;dialogHeight:300px');
说明:这个方法在其他第三方的浏览器上未测试到底能不能用
三:
escape 函数
将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,所有非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串中时,百分号 (%) 用于引入转义符,不与模运算符 (%) 等效。
showModalDialog('test.aspx?Auto=2&LX=' + escape('你好'),'','dialogHeight=200px;dialogWidth=500px;toolbar =no; menubar=no;scrollbars=no;status=no;scroll=no')