1、问题:
在前端开发中经常会出现传参数为中文的时候,解析乱码问题。例如:
1、<iframe src="Add.aspx?Name=" 中文" " width="100%" height="100%" frameborder="0" />
Add.aspx页面在解析【Name】这个参数时候变成一串莫名奇妙的字符。
2、ajax,中url参数出现中文时候也会出现这种问题。
2、解决方法
这种问题开发中很常见,同样解决方法也很多。
1、JavaScript escape()函数。http://www.w3school.com.cn/jsref/jsref_escape.asp
通常只用于编码参数: 例如<iframe src="Add.aspx?Name=escape(" 中文" )" width="100%" height="100%" frameborder="0" />
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。//但通常不进行解码也能解决问题。
2、JavaScript encodeURI()方法 http://www.w3school.com.cn/jsref/jsref_encodeuri.asp
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码 http://www.w3school.com.cn/jsref/jsref_decodeURI.asp
3、encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。 http://www.w3school.com.cn/jsref/jsref_encodeURIComponent.asp
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码. http://www.w3school.com.cn/jsref/jsref_decodeURIComponent.asp