1.数据库建立为UTF-8格式
2.项目右键属性为UTF-8格式
3.所有页面申明为UTF-8
4.JDBC URL设为:UTF-8
jdbc:mysql://localhost:3306/company?useUnicode=true&characterEncoding=utf-8
5.数据库Driver选择UTF-8格式
6.Tomcat编码改成UTF-8
在server.xml里面增加URIEncoding="UTF-8"
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
7.加编码过滤器SetCharacterEncodingFilter.java
注意:根据所在包名确定具体使用哪个包
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;
public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase("true"))
this.ignore = true;
else if (value.equalsIgnoreCase("yes"))
this.ignore = true;
else
this.ignore = false;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO 自动生成方法存根
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request, response);
}
public void destroy() {
// TODO 自动生成方法存根
this.encoding = null;
this.filterConfig = null;
}
protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}
}
在web.xml里面映射配置
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.yourcompany.util.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
分享到:
相关推荐
主要介绍了Java避免UTF-8的csv文件打开中文出现乱码的方法,结合实例形式分析了java操作csv文件时使用utf-16le编码与utf8编码相关操作技巧,需要的朋友可以参考下
最近的项目(Delphi开发),需要经常和java语言开发的系统进行数据交互(Socket通信方式),数据编码约定采用UTF-8编码。 令我无语的是:JAVA系统那边反映说,Delphi发的数据他们收到是乱码,而我这边(Delphi7,...
当需要将文本文件导入SAS中时,UTF-8编码的中文有可能会乱码,此文讨论了一种解决方法
source insight 3.5 UTF-8中文乱码插件,提示! 我自己用3.5版本亲测有效,4.0版本我未测试过
最近需要对Linux与Windows平台下的字符传输出现乱码,对字符编码作了深究。参考了网上的UTF-8/UTF-16转换的资料,只有0x10000以下的Unicode编码进行了转换;对其代码进行了修改和补充,可以实现所有的UTF-8/UTF-16的...
有时候utf-8的网站 需要点中文或者特殊符号,会出现乱码,用这个就可以转换成utf-8 可以识别的转意字符
ArcGIS默认dbf代码页-设置为UTF-8,解决有需要将gdb导出成shape file并将字符集设置成Utf-8以避免中文乱码的情况。
netbeans文件并不是用utf-8编码的,所以若果jsp见中文用utf--8编码的话,就会出现乱码,该图片就是解决这个问题的
PB的utf-8转换,包括加码解码等等 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
volley.jar包,解决中文乱码,强制改成utf-8编码
操作方法(需要管理员权限): !!! 执行前,请务必备份注册表 1. 解压压缩包 2. 双击 .reg 注册表文件导入 更多内容可参考:...适合人群:需要修改 CMD 编码为 UTF-8 的人群
Java解决UTF-8的BOM问题,使用“UnicodeInputStream”、“UnicodeReader”。
前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js. 但是里面没有做出详细介绍,这里...
老项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息会出现乱码。所以写了个小的方法类,将java文件的编码格式从GBK转UTF-8
WIN10 cmd控制台本来的编码是ANSI的,所以要求执行的批处理脚本编码格式也是ANSI才行,要不就两边统一都改成UTF-8处理(作为一个程序员,一般我都会统一成UTF-8编码格式),下面就介绍如何统一改成UTF-8编码格式
Source Insight 插件,解决SI UTF-8中文显示乱码问题。 Source Insight Patch File, solve display wrong code when using UTF-8 chinese charater
jsp上传组件smartUpload_utf-8_jar包,解决utf-8编码的乱码问题
当把别人的项目导入AndroidStudi中会经常发现编码错误,乱码等不可能一个一个去修改,只要你吧代码复制到eclise使用他就可以实现你想要的转码
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
基于MFC CString的GBK与UTF-8编码转换,在网上找到一些代码都有问题,但都存在一些错误。现在改好了,与大家分享一下。 (MFC 非UNICODE)