JSP基础——关于中文乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP基础——关于中文乱码问题相关的知识,希望对你有一定的参考价值。

乱码问题十分烦人,今天在写一个登陆的demo时,表单中需要提交的中文姓名,如下代码

技术分享
<form action="success.jsp" name="successForm" method="post">
     姓名:<input type="text" name="username" /><br/>
    密码:<input type="password" name="password" /><br>
    擅长:<br>
    <input type="checkbox" name="fab" value="java技术" >Java技术<br> 
      <input type="checkbox" name="fab" value="c" >C语言<br> 
        <input type="checkbox" name="fab" value="database" >数据库技术<br> 
          <input type="checkbox" name="fab" value="web" >Web技术<br> 
          <input type="submit" value="提交">
    </form>
View Code

另有一个success.jsp 登陆后跳转至此

技术分享
<%
        String username = request.getParameter("username");
        String[] fabs = request.getParameterValues("fab");
    %>
    <%
        out.println("用户名为:" + username);
        if (fabs != null) {
            out.println("擅长:" + "<br>");
            for (String fab : fabs) {
                out.println(fab + "<br>");
            }
        }
    %>
View Code

为了解决乱码问题,可以添加一句

request.setCharacterEncoding("utf-8");

这样就可以显示中文了

还有一种情况就是在URL中的中文参数值如:

<a href="success.jsp?username=小羊">用户登录</a>

这种情况也会出现中文乱码的情况,解决的方法是修改tomcat的配置文件

找到tomcat的conf文件夹下server.xml

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

添加 URIEncoding=“utf-8” 

以上是关于JSP基础——关于中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

JSP基础

关于从JSP页面插入数据到数据库中乱码问题的解决

JSP之mysql中文乱码问题

初探JSP与LEeclipse

关于request等的乱码问题

JSP 基础语法