对于cookies的中文乱码问题,我们可以把中文转换成ask码再进行存储;
var users = documentgetElementById("userName")value;//获取带汉字的用户名
var userlogin=encodeURI(users);
documentcookie = "username="+userlogin+";expires=" + datetoGMTString();
这样就可以把中文给传进cookies里面了
如果是控制台界面语言是乱码,建议使用Chrome原版(开发者控制台是英文界面),
如果是控制台输出文字是中文乱码,一般是编码选的不对,建议使用UTF-8编码
或者JS函数中,用encodeURIComponent或decodeURIComponent进行编码和解码。
虽说没有找到为什么会造成这样不一致,但是还是解决了。
利用Global对象的encodeURI()和encodeURIComponent()方法,以及其对应的decodeURI()、decodeURIComponent()方法。
楼主应该表达具体点:
1、如果是ajax:首先要看看后台进行response输出时,设置的头文件格式是不是utf-8,并且要保证输出的类型为text/html
2、判断浏览器解析的是不是utf-8:看看网页展示的中文是不是乱码,如果是,那么就有可能是没指定解析编码,指定方式如楼上所说,<meta >
===================================================
javaScript 处理中文参数乱码
encodeURIComponent(txt)方法。
试试将url修改为:
url=<%=basePath %>printdomethod=print&pbrid=" + encodeURIComponent(pbrid);
希望对你有用~~~
===================================================
一般出现乱码都是在js裏面跳转到哪个类 然後得到这个参数的时候中文乱码,
有一个非常实用的办法,在js你可以这样写:
var url=;
url=encodeURI(url);
url=encodeURI(url); //最重要的部分,两次调用encodeURI ,就是编码两次
然後在跳转到url所在的类, 获取这个参数的方法如下:
String name=requestgetParameter("name");
name=URLDecoderdecode(name,"utf8");
这样就能解决乱码问题了,这种方法还没遇到过不能解决的乱码,
1, js引入时加下面语句
<script type="text/javascript" src="js" charset="gbk"></script>
2,html页面首部加入
<meta >
以上就是关于如何解决JS读取cookies中文乱码全部的内容,包括:如何解决JS读取cookies中文乱码、如何处理Chrome中js控制台的中文乱码、js地址栏传参中文乱码解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)