web开发中经常遇到的一些乱码问题

开发中我们遇到的中文乱码问题大概有几种:1.jsp页面中文显示乱码,2.提交表单通过request.getPerameter()获取的中文乱码,3. .jsp文件中的中文乱码,4. .java文件中的中文乱码,5.URL传参中文乱码

1.jsp页面中文显示乱码

<%@ page language="java" import="java.util.*"%>
 <form action="productSave" method="post">	   		
	<p>
		<label for="name">名称:</label>
		<input type="text" id="name" name="name">
	</p>
	<p>
		<label for="name">价格:</label>
		<input type="text" id="price" name="price" >
	</p>
</form>

我们可以看到jsp页面中的中文出现乱码。

解决方法!!!!

<%@ page language="java" import="java.util.*" <span style="color:#FF0000;">pageEncoding="UTF-8"</span>%> 把 pageEncoding改为"UTF-8"即可。
2.表单提交出现乱码

当我们使用 request.getParameter("") 这个方法获取表单中提交的中文时,会出现中文乱码 ,产生这种结果的原因是Tomcat中对于Post方法提交的表单默认采用的编码为ISO-8859-1,这种编码格式不支持中文字符。

解决方法<1>转换编码格式

String name = request.getParameter("name");
name = new String(name.getBytes("iso-8859-1"),"utf-8");//汉化http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-154573-qJcY3fDqCbfdcATeldCl-passport.csdn.net
               <2>    使用过滤器 filter     在web.xml中配置编码格式转换的过滤器即可     (我直接引用了spring框架中的filter,当然也可以自己写个过滤器)
<filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>
需要导入一些spring的jar包,commons-logging-1.1.1.jar     spring-beans-3.2.3.jar    spring-context-3.2.3.jar  pring-core-3.2.3.jar spring-web-3.2.3.jar

3.  在 .jsp文件中出现乱码


解决方法   

我们修改一下myeclipse中jsp的默认编码即可

在myeclipse中  找到Window>>Preferences>>MyEclipse>>Files and Editors>>JSP  将Encoding 改为ISO 1064/Unicode(UTF-8)即可

4.在  .java文件中出现乱码

解决方法

在myeclipse中 找到Window>>Preferences>>General>>Editors>>Text Editors>>Spelling 将Encoding选为Other:UTF-8即可             

5.URL传参时,中文参数乱码问题叫

在使用get方式 传递参数的时候,如果参数中出现中文,就可能出现乱码

<a href="a.jsp?param='中文'">链接</a><br>  
提交的参数为param='??????'
解决方法

修改Tomcat的配置文件,找到conf目录下的server.xml

    <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000"    
                   redirectPort="8443"
                   <span style="color:#FF0000;">URIEncoding="UTF-8"</span>   />  
添加
 <span style="color:#FF0000;">URIEncoding="UTF-8"</span> 
即可解决












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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值