jsp页面往mysql里插入中文后数据库里显示乱码

2018-10-07 小惟 20

方法一:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>



我试了一下还是没能解决问题,

方法二:

1、JSP页面乱码
解决办法:在页面开始地方用下面代码指定字符集编码即可。

 <%@ page contentType="text/html;charset=utf-8" language="java" %>1

2、数据库乱码
这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码。
解决办法:在数据库连接字符串中加入编码字符集。

String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=utf-8";1

并在页面中使用如下代码:

response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");12

3、中文作为参数传递乱码
当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
在参数传递时对参数编码,比如

RearshRes.jsp?keywords=" +java.net.URLEncoder.encode(keywords)1

然后在接收参数页面使用如下语句接收

keywords=new String(request.getParameter("keywords").getBytes("8859_1"));