java编程的GBK字符集问题汇总

本文提供了一套全面解决Java应用程序中文乱码问题的方法,包括调整Oracle客户端与Tomcat环境变量、配置Tomcat字符集、修改系统过滤器及统一JSP页面编码。

在开发一个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 中:

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding='UTF-8'/>
    <!-- A "Connector" using the shared thread pool-->

步骤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

<%@ page language="java" contentType="text/html; charset=GBK"%>

<head>
 <meta http-equiv="Content-Type" content="text/html; charset=GBK">
</head>

 

步骤6。如果为struts2,则struts2.xml文件中字符集的配置
<constant name="struts.i18n.encoding" value="GBK"/>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值