Tomcat中文乱码问题

Java Web

情况1:中文无法显示

    在文件头上的字符集设置为中文字符集

     1)<% @ page language="java" contentType="text/html"; charset="gb2312"&>

     2)<% @ page language="java" pageEncoding="gb2312"%>

情况2:提交过程中显示论码

    比如在一个查询界面,输入中文人名,在显示界面显示的中文人名是乱码。

    因为人名要提交给服务器,服务器将其人称ISO-8859-1编码,而网页上显示的是GB2312编码,不能兼容。

    1)将其转换成GB2312格式

1 <%
2       String stuname = request.getParameter("stuname");
3       stuname = new String(stuname.getBytes("ISO-8859-1"), "gb2312");
4       ...
5 %>
6 ...

     该方法需要将每一个字符串进行转码,很麻烦。    

   2)直接修改request的编码

<%
      request.setCharacterEncoding("gb2312");
      String stuname = request.getParameter("stuname");
      ...
%>
...

      该方法要在取出值之前就设置request编码,并且表单的提交方式应该为post(?)。但是,这种方法必须在每个页面中进行request的编码设置,也很麻烦。

     3)利用过滤器

      可以对整个Web应用进行统一的编码过滤,方便。

转载于:https://www.cnblogs.com/bolumiere/p/6924738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值