jsp页面中,当我们登录用户名是中文时,在controller获得login.jsp页面传递过来的name时,会显示为乱码。
为什么会出现乱码呢?
因为在页面传递时,是按iso-8859-1编码的
那么如何解决中文乱码问题?
1、重新转码 new String(u.getBytes("iso-8859-1"),"gb2312")
LoginClServlet.java文件:
String u=request.getParameter("username");
u=new String(u.getBytes("iso-8859-1"),"gb2312");
当然在每个文件中都这样写很麻烦,我们一般会怎么做,新建一个Tools.java工具类。
那么,LoginClServlet.java文件中这样调用。
String u=request.getParameter("username");
u=Tools.getNewString(u);
2、使用过滤器来解决【后面详细讲解】
3、通过配置server.xml文件【不太稳定】
打开Tomcat服务器文件server.xml的办法,在接受客户请求时便将其转换为这种标准,如下: