【Java Web问题解决】提交表单后显示乱码

【Java Web页面乱码】提交表单后显示乱码

Java Web中用表单提交信息是最常用的技术了

但是,在提交表单,显示表单信息时会经常遇到显示乱码的问题

乱码如图:

在这里插入图片描述
一看到这种乱码,头都大

在这里插入图片描述
不过,出现这种中文乱码是有原因的

谁让这些技术是歪果仁发明的呢

在这里插入图片描述

这是因为表单数据在提交的时候传输数据默认使用ISO-8859-1编码,这种编码不能正确解析中文

那要想正确显示我们强大的中国汉字怎么办呢?

有两种方法供选择:(个人不建议选择第二种)

  1. 将请求对象的内容和响应的内容编码都设置为UTF-8
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");

这样,就把内容用UTF-8编码,这种编码是可以正确解析中文的

  1. 使用String类的getBytes()方法

以“用户名”这一参数为例:

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

这样,将从客户端读取的中文重新用UTF-8编码创建字符串就可以正常显示中文了

乱码问题解决后就能够正常显示中文了

在这里插入图片描述
但是,大家会发现,用第二种方法得对每个参数都进行转换编码,很麻烦

作为程序员怎么能够用麻烦的方法呢

所以,还是用第一种方法比较好

其实,真正的项目中对于Java Web的显示乱码问题还可以用过滤器解决,不过本菜鸟还没有学到过滤器技术,以后再和大家分享

相关技术文章:
【Java Web总结】Java Web项目中 的.classpath、.mymetadata、.project文件作用
【Java Web问题解决】Tomcat报错javax.servlet.ServletException: Error instantiating servlet class.报错404
【比较】什么是“服务器端跳转”“客户端跳转”,二者有什么区别?
【总结】表单提交的get和post有什么不同?
【总结】Java Web 中的4种属性范围(page、request、session、application)
【Java Web问题解决】Tomcat启动时控制台出现中文乱码的问题解决方法
【示例项目】java实现通过身份证号码判断籍贯所在地区
【总结】HTTP协议中的状态码(200、403、404、500等)

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值