这是因为js和css文件字符集设置的问题,不支持中文或者与网站的字符集冲突。
解决办法
1、安装notepad++程序
2、用notepad++打开js、css和html文件,修改文件的字符集编码
3、修改html展现时的字符集
统一使用utf-8字符集后,显示任何语言都不存在乱码
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开始计算
一般出现乱码都是在js裏面跳转到哪个类 然後得到这个参数的时候中文乱码,有一个非常实用的办法,在js你可以这样写:var url=........url=encodeURI(url)url=encodeURI(url)//最重要的部分,两次调用encodeURI ,就是编码两次然後在跳转到url所在的类, 获取这个参数的方法如下:String name=request.getParameter("name")name=URLDecoder.decode(name,"utf8")这样就能解决乱码问题了,这种方法还没遇到过不能解决的乱码,