jsp读取mysql数据库乱码_JSP写入mysql数据库乱码问题

jsp和mysql数据库之间,读写中文字符时,容易出现乱码,困扰了好长时间,今天把解决方法写下了,希望可以帮到众网友!

解决方法:

1.在jsp网页头部中加上

2.在网页正文加上,确保页面可以显示中文。

3.在通过request.getParameter,/request.getAttribute函数取得到的字符串,有余tomcat内置的编码特性,所取到的字符串是ISO-8859-1编码,所以需要把取得的字符串改成UTF-8

或者GBK编码,为了适应其他字符,这里选择通用的UTF-8编码。

String getStr = request.getPatameter("name");             //iso-8859-1编码

byte[] bStr = getStr.getByte("is0-8859-1");

getStr = new String(bStr,"UTF-8");

OR

String getStr = new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");

此时取得的字符就是中文字符,可以答应出来确认无误。

注意:在进行写数据库的时候,可以直接通过getParameter取得iso-8859-1编码,然后构造sql语句,最后把sql语句转变成UTF-8编码,这样可以省掉很多不必要的操作。

for example:

name=request.getParameter("name");

sex=request.getParameter("sex");

String sql = "insert into user values('name'+",'"+sex');";

sql = new String(sql.getBytes("iso-8859-1"),"utf-8");

db.updateQuery(sql);

4.如果能正确读取中文字符,但无法写入字符时时乱码,可以修改数据库的连接字符串。

在连接字符串后面加上?useUnicode=true&characterEncoding=UTF-8 ,

如下所示:

jdbc:mysql://10.246.18.132:3306/wzpconfig?useUnicode=true&characterEncoding=UTF-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值