JSP插入数据到MySQL数据库中显示乱码

               问题:在IDEA中使用JSP页面插入数据到MySQL数据库时写入中文,网页显示为乱码,并且在MySQL数据库中一样显示为乱码。

               在网络上是各种查阅资料,大部分的都是说在Setting上面修改编码,或者说在MySQL数据文件my.ini中修改编码,再要不然就是在VM options上增加UTF-8编码,还有就是在代码url中添加"characterEncoding=utf-8",总之办法很多但却没有一个是能对症下药的。

               问题分析:程序在JSP页面上插入数据库时,如果JSP页面上显示乱码应第一时间去到数据库中查看,看看数据库是否显示乱码。如果数据库中显示乱码,那就打开MySQL数据库单独操作一下,如果在MySQL数据库中插入中文数据显示为乱码,那就是数据库自身的编码没有统一,这个时候在MySQL数据库中使用"show variables like 'character%';"命令查看编码是否为统一编码,如果不是在MySQL安装路径中找到my.ini文件修改为统一编码:

               在这一般设置为GBK编码,之所以设置为gbk是因为MySQL属性当前代码页为GBK编码格式。反之如果不显示乱码,基本上可以排除数据库自身的编码问题。

               

               在排除了数据库的问题后,那么大概率就是出在JSP编码或者代码编码问题上,一般在IDEA上新建一个JSP文件默认开头为:<%@ page contentType="text/html;charset=UTF-8" language="java" %>,如图所示:

               这里的"charset=UTF-8"只是Java字符集的编码,如果你在<%@.....%>之间使用Java代码插入数据到数据库中,那么你MySQL数据库中也应和Java代码中的编码一致为:UTF-8。因为我的MySQL编码是GBK,所以我在此处设置的是"charset=GBK"

 

重点说明:

               1、如果你想在JSP网页上插入数据,首先先提取数据库中的数据,在提取数据时设置编码:

               request.setCharacterEncoding(""),说明:数据库是什么编码括号里面就填什么编码。比如数据库是GBK编码,代码就是request.setCharacterEncoding("GBK"),

               注意:该方法必须放置在request.getParameter()方法前面,否则无效!

 

               2、在提取完数据之后,在JSP网页上开始插入数据时应在JSP开头添加"pageEncoding=GBK"编码,如图所示:

 

               以上就是JSP插入MySQL数据显示乱码问题介绍以及相应的解决思路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值