Servlet三种中文乱码的解决方案

Servlet响应时中文乱码

出现情况:当我们使用响应向浏览器输出文本时乱码,例如:

response.getWriter().println("解决中文乱码问题");

说明响应的对应文本编码格式有误!
解决方法:

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

Servlet请求时中文乱码

出现情况:在本地HTML文件中输入中文文本,再用Servlet获取时:
因为Tomcat默认编码是ISO-8859-1,不支持中文所以导致中文乱码!
解决方法:

String chinesetext=new String(request.getParameter("chinesetext").getBytes("ISO-8859-1"),"UTF-8");) 

上述情况也可以用以下方式(万金油)解决:

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

Servlet重定向时中文乱码

因为重定向的url不支持中文,故将中文转化成utf-8对应编码文本,再存入String中,继而输入至url:
解决方法:

String chineseurl=URLEncoder.encode(chinesetext,"utf-8");

以上便是常见的三种中文乱码的问题及其解决方案,欢迎各位大佬一起讨论交流!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值