java web学习过程中偶遇的中文乱码问题

java web学习过程中偶遇的中文乱码问题

初学java web开发,在学习过程中遇到了一个中文乱码问题,开始使用的是解压版的mysql,经过数据库的重装问题仍没有解决。经过代码一句一句的排查,最终得到解决,但仍不清楚解决的原理(求大神解释)。对于初学者遇到问题时一定要冷静对待,祝我们好运!~^v^~

1.将数据从servlet写入数据库时乱码问题

(1)将servlet与mysql数据库的编码方式均调为UTF-8的编码方式。
(2)从html获取数据时做一个Latin到UTF-8的转换。
        Strng  name=request.getParameter("username");
        name=name==null?"":new String(name.getBytes("ISO8859_1"), "UTF-8");
    可以解决数据写入数据库的乱码问题

2.从数据库中取出数据显示到html页面时乱码

(1)从mysql数据库中取出内容显示到html页面上时所有中文字符均乱码,包括标题及html页面本身的中文字符均变为"???"
    出现此种错误的代码:
    try( PrintWriter out = response.getWriter())  {
    ......
    }catch(Exception e){
    ......
    }
    解决方法:
    将try后括号中的内容去掉即可,变为:
    try{
    ......
    }catch(Exception e){
    ......
    }

备注:
使用环境: IDE:NetBeans8.1
服务器:tomcat 8
数据库:mysql 5.6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值