ssm框架学习---开发中遇到的乱码问题

一、在浏览器访问jsp页面时遇到乱码的问题

(1)在jsp页面没有指定字符集编码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body >
<div  style="margin:100px auto;width: 600px;height:400px;background-color: lavender;text-align: center">
    <br>
    <form method="post" action="/doLogin.action">
    <h3>登录</h3>
    <br>
    <br>
    <label>用户名:</label><input type="text" name="username">
    <br> <br>
    <label>密   码:</label><input type="password" name="password">
    <br><br> <br>
    <div style="text-align: center">
        <button type="submit">登录</button>  
        <button type="reset">重置</button>
        <br>
        <p><a href="register.jsp">还没有帐号?点击这里注册!</a></p>
    </div>
    </form>
</div>
</body>
</html>
解决办法时加上头部这一部分<%@ page contentType="text/html; charset=utf-8"%> 默认一般情况下,java内核和class都是采用unicode来编码的,而jsp页面的默认解码方式是

iso的,因此导致无法解析

(2)编码字符集设置不一致

<%@ page language="java" pageEncoding="gb2312"%> -----1

<%@ page contentType="text/html;charset=iso8859-1"%>-----2

<html>

<head>

<title>JSP的中文处理</title>

<meta http-equiv="Content-Type" content="text/html charset=gb2312">------3

</head>

<body>

<%out.print("JSP的中文处理");%>

</body>

</html>
第一处<%@ page language="java" pageEncoding="gb2312"%>的编码格式为jsp文件的存储格式。根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。因为存为gb2312的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,也会出现乱码。必须一致才可以。

第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式用不用设置都可以。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式出现了乱码。

目前开发中遇到的第一个编码问题,一篇博客中总结了数据提交,数据库等编码问题,先mark下地址

http://www.cnblogs.com/chengkai/articles/2171848.html

二、post和get中出现的乱码问题

(1)post乱码问题

解决办法:在web.xml中增加解决解决post乱码的过滤器

  <!--解决POST乱码问题-->
  <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
(2)get乱码问题

get乱码一般都是页面编码和web容器如tomcat中的不一致,tomcat默认的时iso8859-1的编码

解决办法:一种时在tomcat的配置文件中增加比如用到的utf-8的编码如下

<Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
一种就是对参数进行iso的转码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值