Java中的中文乱码问题

 客户端向服务器发送请求时,有两种方式post和get请求,当客户端提交的内容有中文时。服务器要进行设置才能获得中文,否则获得的是乱码。那么怎么设置呢:在servlet中进行设置,有两种情况:1:请求时服务器获得客户提交的中文,

                        2:响应时客户端浏览器得到响应的中文

   1:服务器获得客户端提交的内容,两种情况get和post请求

    1)链接、Js等get请求中文乱码处理方式

String username=new String(request.getParameter("username").getBytes("iso-8859-1"));

这样表单中usename输入的是汉字的话,再servle中用上述写法得到的才不是乱码

2)普通表单get请求中文乱码处理方式

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

  (2)Post请求

    request.setCharacterEncoding("utf-8");--设置字符编码

String username=request.getParameter("username");

  2:在servlet中响应信息,将信息相应在客户端浏览器上

   就是客户端浏览器要得到服务器响应的中文有两种情况:但是第二种情况用在第一种情况中也行,所以以后都用第二种情况。

    1)在jsp页面中用Js或是域对象得到中文在输出,在servlet中直接写:

  response.setCharacterEncoding("utf-8");

  response.getWriter().print("用户名输入错误");

2)直接在servlet中做个输出流

    response.setContentType("text/html;charset=utf-8");

   response.getWriter().print("用户名123456");

==========================================

1:mysql中文乱码?

 1:进入数据库--右击数据库----更改数据库---更改格式
 2:右击表---更改表-----高级属性---更改格式
 3:在mysql配置文件中设置----mysql安装路径---my.ini配置文件--更改两个属性
     default-character-set=utf8
     character-set-server=utf8
注意:在MySQL中utf-8的写法是utf8,如果写成utf-8会报错

 

转载于:https://www.cnblogs.com/xueershewang/p/6832008.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值