jsp插入数据库乱码 中文的参数怎么处理

a.jsp?name=张三 插入数据库出现乱码

1、JSP页面乱码
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,
2、数据库乱码
这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下: 在数据库连接字符串中加入编码字符集 String
Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=GB2312";
并在页面中使用如下代码:
response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312");
3、中文作为参数传递乱码
当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下: 在参数传递时对参数编码,比如
RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords) 然后在接收参数页面使用如下语句接收
keywords=new String(request.getParameter("keywords").getBytes("8859_1"));
response.sendRedirect("?gh=0001&xm=" + java.net.URLEncoder.encode("忘忧草")); String s=new String(request.getParameter("xm").getBytes("ISO8859_1"),"gb2312"); out.println(s);
4、JSP页面乱码加这句?
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="err.jsp" %>
5、在form中用get方法传参乱码解决方法 如: 1、 login.jsp

<%@ page language="java" contentType="text/html;charset=GBK"%> <html> <head>
<title>get传参乱码问题</title> </head> <body>
<form name="form1" action="login_do.jsp" method="GET"> <input type="text" name="username"/><br>
<input type="password" name="password"/><input type="submit" value="提交"/> </form> </body> </html> ============ 2、login_do.jsp
<%@ page language="java" contentType="text/html;charset=GBK"%> <%
String temp=request.getParameter("username"); if(temp!=null){ temp=new String(temp.getBytes("8859_1"),"GBK"); }
out.println(temp); %>
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-03
get形式,参数中中文要编码,java.net.Encoder,插入数据库要java.net.Decoder还原数据追问

我在插入数据库前把sql语句out.println,看了下,是正常的中文。因为我已经解码了,将%A%B这样的中文转成utf8,但不知道为什么插入数据库就成了%A%C%D这样的,我的数据库是mysql utf8编码。

第2个回答  推荐于2017-10-11
打印一下页面接受信息之后,插入数据库之前是不是已经乱码,插入数据库之前不是乱码的话,将数据库的编码格式改成你页面中的编码格式,否则,你页面中的编码格式改为UTF-8或者GBK追问

我在插入数据库前把sql语句out.println,看了下,是正常的中文。因为我已经解码了,将%A%B这样的中文转成utf8,但不知道为什么插入数据库就成了%A%C%D这样的,我的数据库是mysql utf8编码。 页面中改成utf-8后,中文字符显示不正常了。

追答

就是说你以前写代码的时候数据库和页面的编码格式不一样,现在改成一样的了,就成乱码了,现在讲jsp页面中的乱码改成你需要的文字就行了

本回答被提问者采纳
第3个回答  2013-11-03
a.jsp?name=张三
这是一个向另一个页面发送请求,并传递参数,但参数你用的是中文,所以要进行格式转换,给你个参考http://blog.csdn.net/joywy/article/details/8006645
第4个回答  2013-11-03
使用UTF-8编码。追问

我在插入数据库前把sql语句out.println,看了下,是正常的中文。因为我已经解码了,将%A%B这样的中文转成utf8,但不知道为什么插入数据库就成了%A%C%D这样的,我的数据库是mysql utf8编码。

jsp插入数据库乱码 中文的参数怎么处理
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,2、数据库乱码 这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下: 在数据库连接字符串中加入编码字符集 String Url="jdbc:mysql:\/\/localhost\/digitg...

如何解决网页中文乱码问题
1. JSP页面显示中文乱码问题通常是由于未在JSP文件中指定字符集编码所致。解决方法是在JSP页面的顶部添加以下代码来指定字符集为UTF-8:```jsp ```2. 数据库中文乱码问题可能会导致插入或查询数据库时中文数据出现乱码。解决方法包括在数据库连接字符串中指定字符集为UTF-8,以及在JSP页面中设置响应和...

为什么我的JSP程序想数据库存入汉字时会出现乱码?怎么解决啊?_百度...
jsp传值到数据库出现乱码,一般有两个原因:一种是jsp将数据发送给数据库时出现乱码,一种是数据库拿到数据后进行存储是发生乱码,出现第一种问题时要去看jsp标签中是否是为utf-8,再者就要看项目编目是否为utf-8右键项目名到preference下可以更改项目编码。出现第二种问题时,代表数据库编码有问题。右键...

jsp中处理中文乱码的解决方案有哪些
完成这三点统一,中文想乱码都难,如果使用MySQL的话,数据表也需要做UTF-8统一。修改Tomcat的server.xml文件,该文件位于 tomcat\/conf,红色部分为添加部分,也就是当前使用的HTTP端口的连接方式的设置。找到Connector 标签,使 Tomcat 服务器以UTF-8模式进行工作,从底层对乱码进行处理,修改如下:<Connec...

JSP中文乱码问题如何解决?
在Java文件中,若包含中文,且编译成class文件时使用的编码方式与源文件编码不一致,则会产生乱码。解决方法是在编写Java文件时尽量避免中文(注释部分例外),必要时手动指定编码参数(如'-ecoding GBK'或'-ecoding gb2312')进行编译;对于JSP文件,在文件头加入相应的编码声明可解决此类乱码问题。本文...

JSP乱码一般有什么解决办法?
1) JSP页面内输出中文时出现乱码 解决方案在JSP文件中使用page命令指定响应结果的MIME类型,如<%@ page language="java" contentType="text\/html;charset=gb2312" %> 2)表单提交乱码 表单提交时(post和Get方法),使用request.getParameter方法得到乱码,这是因为tomcat处理提交的参数时默认的是iso-8859...

如何处理get\/post提交的中文乱码问题
JSP的中文处理 <%=request.getParameter("name")%> 三、数据库连接出现乱码 只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。四、数据库的显示乱码 在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它...

JSP页面中文乱码问题解决方法
1.新建两个JSP页面 2.在c.jsp中新建一个表单 3.在d.jsp中接收这个值 4.运行c.jsp 5.输入带中文的参数,点击提交 6.发现接收过来的中文是乱码,英文正常 解释下:JSP默认参数在传输过程中使用的编码为ISO-8859-1 而两个页面使用的都是UTF-8 的编码 7.在d.jsp中新增如下代码 8.再次重复上边...

从jsp页面取得文本插入数据库,乱码!!!
看看浏览器的默认编码,换个浏览器试试。如果不行的话建议你新建一个JSP 写几个简单的输出看看乱不乱,不乱的话把程序一行一行拷进去。乱码这种问题大部分都是COPY时候不小心的,实在不行就手敲吧。。。

Linux环境JSP乱码解决方案linuxjsp乱码
1. 首先,通过在浏览器查看网页源码,确定乱码原因:若显示”&# xx; “格式,则根据该数字值可以确定乱码字符的编码,具体的编码参考即可确定;若是乱码而且显示的文字不同,则说明框架中返回了不同的编码格式字符;2. 根据浏览器查看网页源码,修改JSP服务器及数据库的字符集编码,以确保...

相似回答