关于中文传参乱码问题。

时间:2021-01-19 21:08:28

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

  关于中文传参乱码问题。