如何把js获取url中文乱码转码

JavaScript08

如何把js获取url中文乱码转码,第1张

GBK与UTF-8的转码:

iconv("gbk","utf-8","php中文转码")//把中文gbk编码转为utf8

iconv("utf-8","gbk","php中文转码")//把中文utf8编码转为gbk

一: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开始计算

java web项目中文乱码一般修改以下几个地方即可解决问题:

1、设置jsp页面的编码格式

2、在web.xml中配置请求拦截器来转换数据编码格式

3、设置web容器(比如:tomcat等)的默认编码格式

4、设置数据库的编码格式

另外,需要注意的是post和get请求方式提交数据。get方式请求不会走在在web.xml中配置的请求拦截器,所以url中尽量不要带有中文,或使用post的请求方式。

希望对你有所帮助!

楼主,既然你返回的是json数据,那么你就应该设置ContentType类型为application/json

即:resp.setContentType("application/json")

对应的中文文本的类型这样设置res.setCharacterEncoding("ISO-8859-1")后边的"iso"变为"ISO",希望对你有所帮助!

还是有问题的话,还望继续回复!