易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA乱码问题汇总

文章转自:http://www.javaeye.com/topic/31742
---------------------------------------------------
乱码对于使用非英语文字程序员基本上是一直缠绕在身边的麻烦事,这个谁也避免不了。下面是我解决乱码时候的一点小经验。欢迎指正
 
一、避免乱码的一些注意点:
1.尽量使用统一的编码,如果你是重头开发一个系统,特别是Java开发的,推荐从页面到数据库再到配置文件都使用UTF-8进行编码,安全第一。
2.SetCharacterEncodingFilter的使用,这个东西不是万能的,但是没有它就会很麻烦,如果是基于Servlet开发的东西,能
用的就给它用上,省心。不过有一个注意的地方,这个Filter只是对POST请求有效,GET一律忽略,不信你可以debug一下,看看它怎么做的,至
于为什么不过滤get请求,好象是它对GET请求是无能为力的。
3.就如上面所说,GET请求有问题,尽量使用POST请求,这个也是Web开发的一个基本要领:
Web Health Warning:Put All Destructive Actions Behind a POST method(from Agile Web Development with Rails)
有点扯远了,不过少用GET,是会有回报滴。
4.JavaScript和Ajax乱码的避免,注意JavaScript默认是ISO8859的编码,避免JS/AJAX乱码和GET一样,不要在
URL里面使用中文,实在避免不了,就只能在生成链接的时候转码,绝对不能想当然的认为SetCharacterEncodingFilter会帮你做什
么事情。
5.尽早统一开发环境,早点模拟真实环境测试,这个好像也有跑题的嫌疑,但凡软件开发都是这么干的,但仍然值得注意。我这出现过一次状况,程序是在Win下编译的,拿去Linux上测试没问题,等实际部署的时候代码是在Linux下编译,结果乱码,秋后算帐总觉得有点晚。
二、乱码发生的情况和应对措施
1.开发环境乱码
     
由于Java默认使用UTF-8编码,而且网上很多人都建议Struts开发的时候应尽量选用UTF-8做为默认编码,而非GBK。IDE使
用Eclipse,在第一次使用Eclipse的时候应将default text
editor改为UTF-8编码,免得日后后悔再改就惨了,我本次开发的时候就忽视了这一点,刚开始没注意,结果到快交工时乱码问题无法解决,导致将所有
的文件全部修改一遍,呜……
      自打使用Ubuntu,我就开心的笑阿,再也不用为搞这些乱码问题而烦恼^^(Ubuntu公益广告)
2.POST请求的过滤
      这个是最基本的了,每个Servlet系统基本都会


相关文档:

diy面向请求的java框架

这个框架也是为google app engine准备的。当时感觉直接在gae上sevlet太烦人了,就封装个简易的框架。使用的时候只需要配置web.xml中DispacherSevlet和package.properties中的package.path(默认扫描的包)即可
gae例子:http://orzblogs.appspot.com/Home.htm
大学的时候很BS java,学了之后就扔掉了,现在工作了才开始 ......

Java基础:第十六讲 日期和时间的使用

在Java应用中,日期和时间作为基本的信息类型应用的特别广泛,例如获取当前时间,计算某些操作执行的时间等。日期处理相关的类包括Date和Calendar,通过Date和Calendar可以获取当前时间,对时间进行一些运算,获取时间中的年、月、日、时、分、秒和星期等信息。在输入和输出的时候经常用到字符串形式的时间,这就需要时间和 ......

Java正则表达式入门

 众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。
 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式 ......

Java实现XMPP发送接收消息和文件功能

package test;
import java.io.File;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.MessageListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack ......

java的cp参数使用


java -cp .;c:\dir1\lib.jar Test
-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”
分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包,用一点“.”代表当前路径。
虽然现在都有eclipse之类的IDE ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号