jsp中文页面乱码与传参乱码

  次阅读 作者:智能小宝 来源:互联网 2016-03-01 10:44 我要评论(0)

页面乱码

这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可

代码如下

<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"errorPage="err.jsp" %>

数据库乱码

这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,

解决方法如下:

数据库连接字符串中加入编码字符集

代码如下

StringUrl="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=GB2312";

并在页面中使用如下代码

代码如下

response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312");

URL传值乱码

方法一:

1. 在b.jsp中把pageEncoding="GB2312"改为pageEncoding="ISO8859-1"

虽然这样b.jsp页面显示的内容还是乱码,但是不是那种“??????”的乱码,而是一些特殊字符

2. 然后在浏览器中查看菜单中修改成GB2312的编码,这时乱码就显示中文了。

3. 但是这种方法是不可行的。

方法二:

1. 在b.jsp中把

代码如下

Stringname=request.getParameter("name");

修改为

代码如下

String name=newString(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");

2. 这时再在页面上显示,则就是中文了。

方法三:

在请求页面的请求参数需要用encodeURI进行转码,然后在接收请求的页面需要进行字符集转换。 本例中的请求和接收页面的字符集都是UTF-8:

1.请求的JSP页面用JavaScript的encodeURI()方法将参数转码:

代码如下

functiontoView(param){

var encodeparam = encodeURI(param) ;

window.location.href="/naias/advAna_form.do?method=showDetail&title="+encodeparam;

}

2.在跳转的Action中进行字符集转换: www.111cn.net

代码如下

publicActionForward excute(ActionMapping mapping, ActionForm form, HttpServletRequestrequest, HttpServletResponse response){

String title=request.getParameter("title");

title= new String(title.getBytes("iso-8859-1"), "UTF-8");

System.out.println(title);

}

为编码为UTF-8的JSP页面传参,对于中文乱码的解决分为两种情况:

1.通过GET方式传参,通过

代码如下

newString(request.getParameter("").getBytes("ISO-8859-1"),"UTF-8");

的方式转换为需要的编码,如UTF-8等。

2.通过POST方式传参,通过声明

代码如下

request.setCharacterEncoding("UTF-8");

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...