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

2024年11月14日 17:14
有4个网友回答
网友(1):

1、JSP页面乱码
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,
<%@ page contentType="text/html;charset=utf-8" language="java" %>

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"));

以上为现阶段遇到的乱码问题,乱码的核心问题还是字符集编码问题,只要掌握了这一点,一般的乱码问题都可以解决。

网友(2):

数据库怎么设置utf,你在后台看一下jsp传过去的值是什么样的,应该已经是乱码了,jsp直接传中文,需要解码

网友(3):

写入的数据也要是UTF-8

网友(4):

表设置没用的 , 你要在安装的时候设置!