追随Java
简单的事情重复做,就会产生累积效应!
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 260, comments - 338, trackbacks - 0
中文乱码问题
晕了一上午碰到了从JSP页面请求到ACTION中出现了中文问题。找了很久也不知道到底问题出现在那,郁闷呀。
总觉得很奇怪,因为我是原来的系统(中文传递没有问题)中加入一些页面,也添加了一个Action,可它有中文问题了。想了很久也不能解决,真是
呀。最后,我干脆把原来的系统还原,然后重新在系统中添加所要修改的东东,居然没有问题了。
总结一下原系统解决乱码的方案:
1)采用国际化。这样能解决页面的中文乱码问题。
a)把页面中所出现的中文写到属性文件中,例如:messages_zh.properties,
shipment.system
=
出货小系统
shipment.jsnum
=
条码
shipment.stylenum
=
款式
b)native2ascii把文字转换成ascii码,
D:\project\shipment\web\WEB
-
INF\classes
>
native2ascii messages_zh.properties mess
ages_zh_CN.properties
c)页面统一采用utf-8编码
<%
@ page pageEncoding
=
"
utf-8
"
contentType
=
"
text/html;charset=utf-8
"
%>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=utf-8"
>
d)在web.xml文件中引入JSTL与WEBWORK集成的类
<!--
Define the basename for a resource bundle for I18N
-->
<
context-param
>
<
param-name
>
javax.servlet.jsp.jstl.fmt.localizationContext
</
param-name
>
<
param-value
>
messages
</
param-value
>
</
context-param
>
<!-- 采用filter编码转换-->
<
filter
>
<
filter-name
>
Set Character Encoding
</
filter-name
>
<
filter-class
>
org.appfuse.web.SetCharacterEncodingFilter
</
filter-class
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
Set Character Encoding
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
e)filter类把请求的统一转换成utf-8,(在2.1.7版本以后自己处理好了)如下:
package org.appfuse.web;
/**/
/*
*
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2005-8-11
* Time: 13:17:00
* To change this template use File | Settings | File Templates.
*/
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
{
public
void
init(FilterConfig arg0) throws ServletException
{
}
public
void
doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
/**/
/*
* Servlet编码
*/
request.setCharacterEncoding(
"
utf-8
"
);
chain.doFilter(request,response);
}
public
void
destroy()
{
}
}
ee)在web-inf\classes中的webwork.properties文件(可能这个就能取代上面的,有待测试)中加入
webwork.custom.i18n.resources
=
messages
webwork.locale
=
zh_CN
webwork.i18n.encoding
=
GBK
f)在页面中还需添加JSTL标签,当然在classpath下要加入相关的类包
<%
@ taglib uri
=
"
http://java.sun.com/jstl/fmt_rt
"
prefix
=
"
fmt
"
%>
g
)现在在页面中就可以采用jstl的EL来引入了
<
fmt:message
key
="shipment.shipment"
/>
2
)把tomcate下面的conf文件夹下的server.xml文件中加入 URIEncoding="GBK",有了上面的可能这一个也是多余的,如:
<
Connector
port
="8080"
maxThreads
="150"
minSpareThreads
="25"
maxSpareThreads
="75"
enableLookups
="false"
redirectPort
="8443"
acceptCount
="100"
debug
="0"
connectionTimeout
="20000"
disableUploadTimeout
="true"
URIEncoding
="GBK"
/>
现在想想,当时可能我太性急,有点慌,盲目,所以没有注意到原来我在系统中加入了filter来转换编码(utf-8),而在我新添加的页面中没有注意到这一点,所以怎么处理还是有乱码。所以在以后的开发当中一定要沉着冷静专注,要弄清其所以然,才能顺利的解决好问题。
posted on 2005-08-31 13:39
Harryson
阅读(1305)
评论(0)
编辑
收藏
所属分类:
WebWork
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
UTF-8 字符处理在 Web 开发中的应用
WW标签的使用注意
webwork+spring+hibernate开发心得
标签
webwork&jstl标签
中文乱码问题
<
2005年8月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(10)
给我留言
查看公开留言
查看私人留言
随笔分类
(319)
AJAX(4)
Coffee House(78)
cvs(2)
cygwin(2)
Eclipse(5)
EJB(13)
ERP(2)
Hibernate(15)
Html(9)
iBatis(3)
IDE(5)
J2SE(17)
Javascript(14)
Jboss(10)
Jdbc(4)
Jni--Communication(3)
Management(18)
NetWork(7)
Oracle
PowerDesigner(2)
Proxool(1)
Question(12)
SoftwareEngineering(20)
Spring(17)
SqlServer(18)
Struts(4)
Tutorial(15)
VFP(1)
Web Service (1)
WebWork(6)
WSAD(11)
AJAX
Buffalo
DWR
Coffee House
CCTV
slashdotcn
verycd
凯迪网络
联合早报
蓝牙耳机
CSS
bindows
netvtm
Onestab
openwebdesign
UI设计
walterzorn
WebFx
蓝色经典论坛
Java
IBM
Java.net
Java.sun
JavaWorld
JAVA天下
onjava
sourceforge
JavaScript
JavaScript论坛
Open Source
Apache
bjug
Codehaus
crack
eclipse-plugins
grails
Hibernate
Jboss
laszlo
Midwinter
OpenOffice
Spring
theserverside
WebWork
webworkSc
源码网
一个不错的源码发布与下载网站
ProjectManagement
domain-driven design
信息资源
软件架构
项目管理者联盟
友情Blog
@misseye
BuggyBean
Gavin King
James Strachan
JC
liuruhong
Rami
Rory Ye
techno.blog("Dion")
utopian
Waterye
平和大度 探索追求
梦想风暴
独钓寒江
透明思考
最新随笔
1. 工作认真就够了吗?
2. 出门在外请多注意安全
3. 物业管理公司太不负责任,真让人气愤
4. 你是否还在为学历在担心?
5. 公司准备上ERP的情况
6. WAS非常奇怪的问题
7. 系统上线感悟
8. 关注自己的职业发展方向
9. 硬盘资料整理好了吗?备份了吗?
10. 说说公司给大家工作PC的配置?
11. CVS使用注意
12. 空调噪音问题严重
13. 私活就那么难搞定吗?
14. 用groovy你能做一些酷的事情
15. acegi是一个很好的开源项目,通过认证和授权来保护资源
最新评论
1. re: spring初始化时出错了,[未登录]
没有编译好
--ff
2. re: Error creating bean with name
@呵呵
缺少包。commons-pool.jar
--tlj
3. re: 正则表达式(限制text只允许输入int ,float)
去你妈逼滴
--操你妈
4. re: 正则表达式(限制text只允许输入int ,float)
1212
--ht
5. dddddddddddd
ddddddddddddddddd
--ddddddddddddd
6. re: 关于java使用javacomm20-win32实践总结
javax.comm.CommDriver driver = null; diver没有初始化吧?
--lsc
7. re: spring+hibernate初始化出错,错误真是隐蔽得很,让人郁闷,,,
太感谢了,这个问题弄了我超久
--qiuzhiye51
8. re: org.hibernate.PropertyNotFoundException: Could not find a getter for empDeptId in class com.legend.shipment.Temployee
太谢谢了 这个问题我找了很久 谢谢
--sos
9. re: javascript 与applet的通讯 和java与c(dll文件)通讯,最终在b/s架构下实现与硬件(读卡器)通讯
与硬件通讯的dll还需要自己写吗?
--南无
10. re: 太不负责任,真让人气愤
评论内容较长,点击标题查看
--8989899
阅读排行榜
1. 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值。(30159)
2. Error creating bean with name (18533)
3. CPU使用率不高,内存怎么使用率也不高,但系统假死了(9245)
4. org.hibernate.PropertyNotFoundException: Could not find a getter for empDeptId in class com.legend.shipment.Temployee(8681)
5. PowerDesigner学习指南(8198)
6. spring+hibernate初始化出错,错误真是隐蔽得很,让人郁闷,,,(7920)
7. 私活就那么难搞定吗?(7686)
8. javascript 与applet的通讯 和java与c(dll文件)通讯,最终在b/s架构下实现与硬件(读卡器)通讯(6191)
9. 用hibernate作为持久层,update是出现了重复记录(6173)
10. 关于java使用javacomm20-win32实践总结(5940)
11. 正则表达式(限制text只允许输入int ,float)(5589)
12. spring+hibernate下连接两个以上的数据库(5298)
13. Cannot create JDBC driver of class (4899)
14. jboss+eclipse+jboss-IDE部署运行EJB3(4879)
15. ResultSet can not re-read row data for column(4810)
评论排行榜
1. GMail邀请函(43)
2. 私活就那么难搞定吗?(19)
3. 合同期满,是留还是跳,怎样抉择?(16)
4. javascript 与applet的通讯 和java与c(dll文件)通讯,最终在b/s架构下实现与硬件(读卡器)通讯(13)
5. ResultSet can not re-read row data for column(11)
6. 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值。(11)
7. 出事了,盗版被抓,(11)
8. PowerDesigner学习指南(9)
9. 奇怪的死机??(9)
10. 项目(框架)架构的抉择(8)