js往前台传中文出现乱码怎么办

JavaScript021

js往前台传中文出现乱码怎么办,第1张

1、escape 或 encodeURI编码一下。使用的是UTF8编码。服务器接收到数据响应的解码,java是java.net.URLDecoder.decode(String s,String code)

2、如tomcat这样的服务器,在conf/server.xml里面修改http连接使用utf-8编码,可以解决get传参乱码。

3、同样是tomcat,post传参需要设置字符过滤器可解决。

js中文乱码的解决方法及详细的操作步骤如下:

1、首先,检查编写的程序页面的字符编码是“gb2312”还是“utf-8”,如下图所示。

2、其次,找到js文件,右键单击并选择“打开方式”,然后选择用“记事本”打开,如下图所示。

3、接着,打开后,单击记事本菜单栏中的“文件”选项,并选择“另存为”,如下图所示。

4、最后,在弹出的保存窗口底部有一个“编码”的选项,选择编码类型为程序对应的类型并保存以消除乱码问题,如下图所示。 以上就是解决js中文乱码的操作方法。

一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码:

1.传参页面

Javascript代码:<script type=”text/javascript”>// <![CDATA[

function send(){

var url = "test01.html"

var userName = $("#userName").html()

window.open(encodeURI(url + "?userName=" + userName))}

// ]]>

</script>

2. 接收参数页面:test02.html

<script>

var urlinfo = window.location.href//获取url

var userName = urlinfo.split(“?”)[1].split(“=”)[1]//拆分url得到”=”後面的参数

$(“#userName”).html(decodeURI(userName))

</script>

二:如何获取Url“?”后,“=”的参数值:

A.首先用window.location.href获取到全部url值。

B.用split截取“?”后的全部

C.split(“?”)后面的[1]内数字,默认从0开始计算

三:Js中escape,unescape,encodeURI,encodeURIComponent区别:

1.传递参数时候使用,encodeURIComponent否则url中很容易被”#”,”?”,”&”等敏感符号隔断。

2.url跳转时候使用,编码用encodeURI,解码用decodeURI。

3.escape() 只是为0-255以外 ASCII字符 做转换工作,转换成的 %u**** 这样的码,如果要用更多的字符如 UTF-8字符库 就一定要用 encodeURIComponent() 或 encodeURI() 转换才可以成 %nn%nn 这的码才可以,其它情况下escape,encodeURI,encodeURIComponent编码结果相同,所以为了全球的统一化进程,在用 encodeURIComponent() 或 encodeURI() 代替 escape() 使用