解决JSP中文乱码问题

一.页面加载时

保证contentType="text/html",charset="UTF-8",pageEncoding="UTF-8"

且客户端浏览器的字符编码也要与JSP页面保持一致

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

 

二.获取中文参数值时

因为默认参数在传输过程中使用的编码为 ISO-8859-1 。

1.当请求为POST时

在获取请求信息前,调用 request.setCharacterEncoding("UTF-8") 即可

<%
    request.setCharacterEncoding("UTF-8");
%>
<%=request.getParameter("username")%>

 

2.当请求为GET时

1)手动转换编码

<%
    String val = request.getParameter("username");
    String username = new String(val.getBytes("iso-8859-1"), "UTF-8");
    out.println(username);
%>

 

2)在Tomcat根目录/conf/server.xml中的Connector节点加上属性useBodyEncodingForURI="true",便可以像POST方法一样使用request.setCharacterEncoding("UTF-8")来吊证编码

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               useBodyEncodingForURI="true"/>

 

转载于:https://www.cnblogs.com/CComma/p/7143841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值