全聚德在逃烤鸭、 2022-10-03 21:12 采纳率: 80%
浏览 89
已结题

request中文乱码问题

request中文乱码问题

我在前台传中文到servlet,方法是post,服务器是idea中集成的插件Tomcat7.0。
request获取时,设置编码格式为utf-8,打印结果乱码

img


设置为gbk,能正常显示

img

但是各个文件设置的都是utf-8,请问这是怎么回事?

  • 写回答

6条回答 默认 最新

  • 微枫Micromaple Java领域新星创作者 2022-10-09 16:43
    关注

    tomcat8以前默认字符集ISO-8859-1

    String userName = request.getParameter("username");
    System.out.println("解决乱码前"+userName );
    //先对乱码数据进行解码,转为字节数组
    byte[] bytes = userName .getBytes(StandardCharsets.ISO_8859_1);
    //字节数组解码
    userName = new String(bytes, StandardCharsets.UTF_8);
    
    //此方法针对 POST 请求有效
    request.setCharacterEncoding("UTF-8");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月3日