- 浏览: 1147097 次
- 性别:
- 来自: nibiru
文章分类
- 全部博客 (407)
- lucene (1)
- java (147)
- j2se (1)
- javascript (2)
- spring (5)
- hibernate (1)
- mysql (1)
- oracle (10)
- 工作 (10)
- JPA (13)
- 网站 (5)
- xml (2)
- mina (3)
- 思想 (16)
- httpclient (10)
- JFreeChart (1)
- 多线程 (0)
- swing (2)
- socket (0)
- 网络 (3)
- protocol buffer (0)
- jmx (2)
- jboss/weblogic (1)
- flex3 (12)
- 设计模式 (1)
- apache (0)
- php (4)
- struts1&2 (2)
- oracle SOA (2)
- 微博短链接的生成算法(Java版本) (1)
- htmlparser (3)
- quartz (2)
- mail (1)
- 乱码 (2)
- txt (1)
- eclipse (7)
- 分类 (0)
- 数据库 (1)
- svn (1)
- 日志 (1)
- struts2 (4)
- jquery (2)
- 编码 (1)
- 路径,java (1)
- SOHO (1)
- 娱乐 (2)
- frameset (1)
- maven (1)
- 反射 (1)
- truts2 (1)
- 敏捷,scrum (1)
- OA (1)
- english (1)
- oralce (1)
- wampserver (1)
- 会计 (1)
- springmvc (1)
- js (1)
- CMA (1)
最新评论
-
ludabing:
[/color][color=yellow]
spring @component的作用 -
netwelfare:
EL表达式中null和empty的区别,可以看这篇文章:htt ...
EL表达式中empty的用法 -
wjs王结胜:
...
spring @component的作用 -
di1984HIT:
哈哈。真不错啊。~
微博短链接的生成算法(Java版本) -
di1984HIT:
不错,不错。。。
spring @component的作用
大家都知道,计算机只认识二进制的数字, 那么所谓各种字符的编码,其实就是对二进制数据的某种约定。如,ASCL、ISO8859-1、GBK、Unicode、UTF-8。而乱码的产生就是在不同字符集转换的过程中出现的。比如在java中,内部使用的是Unicode编码,当JVM读取到中文时,它把GBK转化成Unicode进行处理,处理完输出时,再转化成GBK,读与写这两个过程是可逆的,按理不会产生乱码。但实际应用的情况就比较复杂,在WEB应用中,包括了浏览器,服务器,应用程序,数据库等等,它们之间的编码可能各不相同,没有一个合理的转换机制,乱码就产生了。下面就几种常见乱码问题做一下总结:
一、表单提交乱码:表单提交的默认字符串是以ISO-8859-1转化来的,ISO-8859-1不支持中文,由于找不到相应的编码,就会产生乱码。解决的办法可以在提交参数前调用request.setCharacterEncoding("UTF-8”)。
二、输出中文时出现乱码:解决此问题可以在输入内容前加调用response.settCharacterEncoding("UTF-8”)。因引解决上述两各乱码问题,最好是写个过器,过滤器代码如下:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
public class CodeFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
//Handle the passed-in FilterConfig
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
//Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
filterChain.doFilter(request, response);
} catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
//Clean up resources
public void destroy() {
}
}
在Web.xml的<web-app></web-app>中加入如下代码:
<filter>
<filter-name>codeFilter</filter-name>
<filter-class>filter.CodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>codeFilter</filter-name>
<url-pattern>*.*</url-pattern>
</filter-mapping>
三、地址栏中传中文乱码的问题:例如a.jsp?name=”张三”。解决此问题需要做两点:
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(name);在取值时用java.net.URLDncoder.dncode(name);再转回中文。
b.在Tomcat目录àconf目录àserver.xml里找到:(我的是Tomcat6.0)
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" <!—在里边加上这个参数---> URIEncoding=”utf-8”/>
四、如果前几各方法没有效果,不防试试这个:String name=new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),”UTF-8”);
五、往磁盘上写文件时, 由于写入时默认是本机编码,虽然所取到的值是UTF-8编码,但写入时依然按本机编码。解决方法:
FileOutputStream fileoutputstream = new FileOutputStream(“文件名”);
DataOutputStream dos = new DataOutputStream(fileoutputstream);
dos.writeUTF(“内容”);
os.close();
六、往数据库写入时出现乱码,解决办法:首先确定你在插入数据库之前是中文 ,然后在数据库连接字串(URL)后加上useUnicode=true&characterEncoding=utf-8
以上属于个人总结,希望各位多提宝贵意见!
发表评论
-
DISCUE盖楼器
2013-10-24 13:34 1192package com.soft.hr.per.service ... -
svn文件影响编译速度解决办法
2011-11-05 10:06 1653在eclipse开发环境中正常编译java文件时,eclip ... -
项目经理,产品经理,架构师
2011-08-29 12:54 1989理想:产品经理设计出简单好用的产品,并能理解技术约束和 ... -
题目
2011-08-28 13:01 17内容22222222222222222222222222222 ... -
如何用QTP录制鼠标右键点击事件
2011-08-25 17:09 1636qtp录制鼠标右键单击事件要通过模拟键盘操作来实现st ... -
Eclipse中要导出jar包中引用了第三方jar包怎么办【】
2011-08-25 15:17 3541单击菜单栏中 ... -
面试题整理2
2011-08-25 12:13 683现有n个人和m个桌子.当每桌做3个人时,多出来2个人. ... -
java把下载html批量换成chm电子书
2011-08-25 10:11 1322利用微软的hhc.exe来把需要转换成chm的htm ... -
java用链表解约瑟夫环问题
2011-08-25 09:36 10461到20的数围成一个圈,隔两个取出一个,直到所有的数都 ... -
CKEditor用法
2011-08-25 09:23 1466config.js ckeditor.editor ... -
工作难题
2011-08-24 15:00 1117function showitem(oid,order ... -
Rational.Rose7.0系统软件
2011-08-24 14:13 3016ibm.rational.rose7.0系统软件01. ... -
[] 探索建立私人的科技资料检索系统
2011-08-23 10:42 1310由于经济条 ... -
一、Java字节代码的操纵
2011-08-22 14:54 595<address style="tex ... -
线程状态的换
2011-08-22 13:09 966<div><div>scjp5 ... -
线程的调度—优先级
2011-08-22 12:53 1129<div>与线程休眠类似,线程的优先级仍然 ... -
类 Hibernate Session DBUtil
2011-08-22 12:16 1204package com.core.util;impor ... -
利用Annotation构建针对POJO进行增删改操作
2011-08-22 12:12 1120package com.core.annotation ... -
360 Or QQ
2011-08-22 08:48 1141前几天,360忽然跳 ... -
XML JAVA解析 -- DOM
2011-08-19 14:27 1293dom : document object model ...
相关推荐
web项目中中文乱码问题总结,几解决方法。
JSP中文乱码问题解决总结,个人收集,一次放出,减少大家的查找时间。
jsp解决乱码方法总结!jsp解决乱码方法总结!jsp解决乱码方法总结!
java文件JSP文件乱码汇总,转码问题
针对java web开发方面中文乱码情况的总结,基本各种情况都有了!
遇到了这个问题, 按照一定的顺序解决了, 来这里总结一下, 希望能帮助大家. 咱们从前台到后台的顺序来解决. 1. JSP 这里需要设置一下JSP页面的统一编码格式: 打开Eclipse-window->preferences. 根据...
有关jsp中文乱码问题的小结,从客户端和服务器端总结
这是我个人收集的关于JSP中出现乱码的问题的总结,希望对大家有所帮助....
解决乱码的各种方法总结,包括数据库的解决方案,个人觉得比较详细有使用价值
分情况对jsp乱码的产生进行总结和处理 包括数据库乱码和服务器乱码的解决
解决所有jsp中遇到的中文乱码问题,自己学习的遇到问题的总结和网上查找的资料
JSP对URL链接中的中文乱码处理方法总结.docx
jsp中常常遇到中文乱码,此处给大家总结了解决方案,望对大家有用
非常全的中文乱码问题,从jsp页面到mysql数据库,还有tomcat服务器出现的系列乱码问题,都有提到。本人总结的文档。推荐给初学者。
自己总结的,解决JSP乱码,简单有效
一些常见乱码的解决方案,对一些编码的总结,文字虽少,但能解决问题
初学者往往会遇到JSP处理中文时引起的乱码问题 即时一些初级教程也仅仅是使用一些表面的方法予以解决,并未深入JSP出现乱码问题的实质原理!对JSP处理字符集的理解难以深入! 本pdf文档根据网上收集的资料己本人的...
乱码总结,其中包括java,servlet,jsp,struts2,等,属个人总结,仅提供参考
总结中文乱码问题如下: 1、所有页面都用UTF-8。 2、写过滤器,设置request.setCharacterEncoding("UTF-8")。 3、javascript脚本里用encodeURI(str)。 4、适当的时候,在jsp里用java.net.URLDecoder.decode(request....
自己总结的JSP中页面出现乱码的解决方法,很全很详细,希望对初学者有用