手机
当前位置:查字典教程网 >编程开发 >JSP教程 >jsp中文页面乱码与传参乱码
jsp中文页面乱码与传参乱码
摘要:页面乱码这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可代码如下数据库乱码这种...

页面乱码

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

代码如下

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

数据库乱码

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

解决方法如下:

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

代码如下 String Url="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中把

代码如下 String name=request.getParameter("name");

修改为

代码如下 String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312");

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

方法三:

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

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

代码如下 function toView(param){
var encodeparam = encodeURI(param) ;
window.location.href="/naias/advAna_form.do?method=showDetail&title="+encodeparam ;
}

2.在跳转的Action中进行字符集转换:

代码如下 public ActionForward excute(ActionMapping mapping, ActionForm form, HttpServletRequest request, 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方式传参,通过

代码如下 new String(request.getParameter("").getBytes("ISO-8859-1"),"UTF-8");

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

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

代码如下 request.setCharacterEncoding("UTF-8");

【jsp中文页面乱码与传参乱码】相关文章:

提升JSP页面响应速度的七大技巧

jsp页面中插入css样式的三种方法总结

jsp文件操作之读取篇

jsp 页面上图片分行输出小技巧

JSP动态输出Excel及中文乱码的解决

jsp include文件时的一个乱码解决方法

jsp地址栏传中文显示乱码解决方法分享

JSP如何实现文件上传

jsp中两个框中内容互换可以添加也可以移除

jsp中调用java代码小结

精品推荐
分类导航