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

IDEA 专栏收录该内容
15 篇文章 0 订阅

               问题:在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数据显示乱码问题介绍以及相应的解决思路

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:博客之星2019 设计师:CSDN官方博客 返回首页

打赏作者

BlizCp

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值