在开发一个java的管理系统时,中文问题常常困扰着我们,根据我的经验,无非为下面几种;
步骤1.oreacle 客户端环境变量的修改。
[ECP_WEB]/oracle$locale
LANG=zh_CN.gbk
LC_CTYPE="zh_CN.gbk"
LC_NUMERIC="zh_CN.gbk"
LC_TIME="zh_CN.gbk"
LC_COLLATE="zh_CN.gbk"
LC_MONETARY="zh_CN.gbk"
LC_MESSAGES="zh_CN.gbk"
LC_PAPER="zh_CN.gbk"
LC_NAME="zh_CN.gbk"
LC_ADDRESS="zh_CN.gbk"
LC_TELEPHONE="zh_CN.gbk"
LC_MEASUREMENT="zh_CN.gbk"
LC_IDENTIFICATION="zh_CN.gbk"
LC_ALL=
步骤2.用户环境变量的修改。
[ECP_WEB]/tmcat$locale
LANG=zh_CN.gbk
LC_CTYPE="zh_CN.gbk"
LC_NUMERIC="zh_CN.gbk"
LC_TIME="zh_CN.gbk"
LC_COLLATE="zh_CN.gbk"
LC_MONETARY="zh_CN.gbk"
LC_MESSAGES="zh_CN.gbk"
LC_PAPER="zh_CN.gbk"
LC_NAME="zh_CN.gbk"
LC_ADDRESS="zh_CN.gbk"
LC_TELEPHONE="zh_CN.gbk"
LC_MEASUREMENT="zh_CN.gbk"
LC_IDENTIFICATION="zh_CN.gbk"
LC_ALL=
步骤3.tomcat配置的字符集修改。
conf下配置文件 server.xml 中:
connectionTimeout="20000"
redirectPort="8443" URIEncoding='UTF-8'/>
步骤4.系统架构代码里面的过滤器字符转换修改。
this.encodingName="GBK";
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (this.enable) {
request.setCharacterEncoding(this.encodingName);
}
chain.doFilter(request, response);
}
步骤4是根据每个系统的字符转换过滤器中的写法来定。仅供参考!
步骤5.系统里面的JSP页面编码格式统一转换为GBK
步骤6。如果为struts2,则strut