为什么中文存入数据库中会乱码

为什么中文存入数据库中会乱码,第1张

你的mysql客户端和你的mysql服务器的编码不一样,,应为utf8编码的中文是3个字符,而gbk编码的中文是两个字符,,这样解析出来的中文就是乱码了。。你需要该数据库的字符集编码。。。具体如下:

找到mysql

的ini配置文件

在[client]这里加上default_character_set

=

utf8

在[mysqld]这里加上character_set_server

=

utf8

不出意外应该可以了

1、JSP页面乱码

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

<%@ page contentType="text/htmlcharset=utf-8" language="java" %>

2、数据库乱码

这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:

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

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

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

response.setContentType("text/htmlcharset=gb2312")

request.setCharacterEncoding("gb2312")

3、中文作为参数传递乱码

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

在参数传递时对参数编码,比如

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

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9238762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存