【JavaWeb】中文乱码ISO-8859-1转utf-8

1、post方法

@WebServlet("/charset/process")
public class CharsetServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //request.setCharacterEncoding用于将请求体(get方法无请求体不可用)中request字符集转换,且需位于post第一行
        request.setCharacterEncoding("UTF-8");

        /*
        * getParameter是获取从服务器中表单form中提交的数据,且默认是String类型
        * getAttribute是与setAttribute对应的方法,解决请求不能传递数据的问题,所以更开放,只要是Object即可
        * javaWeb设置这两个不同的方法感觉很繁琐,莫非是用于区分服务器端和浏览器请求端
        * */
        String name = request.getParameter("ename");
        String address = request.getParameter("address");
        //name.getBytes(原字符集名)  通过new String(原字节数组,新字符集)改变字符集
//        String utf8name =new String(name.getBytes("iso-8859-1"),"utf-8");
//        String utf8address =new String(address.getBytes("iso-8859-1"),"utf-8");

        response.setContentType("text/html;charset=utf-8");
        response.getWriter().println(name +" : "+address);
    }

2、get方法
Tomcat8 以及以后不用设置,其余版本在配置文件修改
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值