Servlet中文乱码问题解决办法

超、凢脫俗 2022-04-23 07:56 382阅读 0赞

Servlet中编码问题,有需要的朋友可以参考下。

首先jsp页面和servlet里面的字符集要一样,一般支持中文的字符集为UTF-8最好采用这个字符集(除此之外还有gb2312);

一. 对于源jsp文件的代码中需要设置

设置你的page里面的字符集

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>

设置html文件里面的字符集

  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
二.如果对于参数通过get方法进行传参的话,有两种方法:
  • 方法一:
    在tomcat里面设置字符集为UTF-8,修改server.xml

注意: 必须有修改tomcat服务器配置文件权限

  • 方法二:通过对servlet里面的进行设置:

    response.setHeader(“Content-Type”, “text/html;charset=UTF-8”);//设置UTF-8的显示页面的类型和字符集
    username = new String(username.getBytes(“ISO8859-1”),”utf-8”);//根据你的tomcat里面的字符集进行对中文进行转换,将iso转换为UTF-8

三.如果对于参数通过post方法进行传参的话,则设置为:
  1. response.setHeader("Content-Type", "text/html;charset=UTF-8");//设置UTF-8的显示页面的类型和字符集
  2. request.setCharacterEncoding("utf-8"); //设置通过post方法进行传参的字符集

在这里需要注意的是:

  1. 对于post和get传参的时候解决中文乱码问题的时候一定要分清楚是哪种方式传参,是post就得用post不然会没用的
  2. 对于两种不同的地方不能合用,乱码问题解决不了的。

若有任何疑问或是不解请在下方评论,谢谢。

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Servlet中文问题

    出现乱码是应为编码的问题 我们要查从三方面查起(源头-传输过程-显示) 1:源头即是编译器,便器的编码方式,在eclipse里面更改编码方式,改成UTF-8为默认的编码

    相关 Servlet解决中文

    一、出现乱码原因 乱码原因:传输方和接收方采用的编码不一致。传输方对参数采用的是UTF-8编码而接收方却用GBK进行解析,当然是乱码,且Tomcat服务器默认采用的ISO