关注技术,关注生活

任何事情只要开始去做,永远不会太迟。
posts - 5, comments - 23, trackbacks - 0, articles - 18
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2006年12月9日

     摘要: 因为工作需要,在做过电子地图和WEB游戏的JS应用程序后,将其中一些经验跟大家分享一下。就像文章的名称一样,这篇里的优化方式并不是教你如果减少JS的时间,而是增加它的时间来达到高速度。不要怀疑你的眼睛,也不要怀疑我是标题党,看下去自有分晓。  阅读全文

posted @ 2008-10-08 15:57 errorfun 阅读(2228) | 评论 (2)编辑 收藏

     摘要: 这段时间开始使用SPRING2.5+Hibernate,发现里面对hibernate配置的Annotation无法支持对包路径下的类进行扫描(annotatedPackages并不是这个作用),只能一个个添加,对比起xml配置的路径扫描就弱了许多,也麻烦了许多。在网上搜了一下,发现在Spring Annotation这个项目中有实现这个方法,但在国内的网站上都没提到过,所以就把内容给转过来,方便大家参考下。  阅读全文

posted @ 2008-08-14 09:55 errorfun 阅读(3990) | 评论 (0)编辑 收藏

我在之前的一篇文章《struts,ajax乱码解决方案》中讲到ajax提交乱码的解决方案。这个方案在utf-8的编码下,不管提交或获取都没有变成乱码,但当你的客户端是GBK编码时提交就会出现乱码(获取时不会)。BeanSoft 说用encodeURIComponent保险,呵呵,这个不是我没试过,从一开始我就试过了encodeURIComponent ,escape,encodeURI,但最后出来的结果都没我说的那种好。它们使用的结果如下:
escape  后提交,getParameter出来的是null,
encodeURI 后提交,和没使用用的时候是一个样,
encodeURIComponent  后提交,包含特殊字符的请求都无法取得正确的值。

使用GBK编码提交后的数据在使用服务器端用new String( value.getBytes("gbk"), "utf-8")后部分可以恢复正确的中文,但有一部分无法恢复,这个原因估计是AJAX提交时设置了编码为UTF-8,但我字符的实际编码是GBK,所以在提交用用request.getParameter()获得的数据是用UTF-8的编码在GBK的字符集中找字符,像我在《struts,ajax乱码解决方案》中说的那样,UTF-8的编码可能有1位2位或3位16进制,如果它这个编码刚好是2位的话,那在GBK可以找到正确的字符(但并不是正确的),但如果是三位呢?那就惨了,它后面的字符全部就会变成乱码,比如%6D%51%C5 %E5%23%1C分别表示一个UTF-8编码的中文字符,那如果在GBK中,就会把它当成三个字符去查找,当然肯定是找不到的,有些找到的也是你读都读不出来的。用new String( value.getBytes("gbk"), "utf-8")后就是用GBK的编码在UTF-8的字符集中查找字符,如果刚好你的字符在UTF-8编码中全部是2位的话,那就能正确恢复,如果不是的话。。。。。。

现在还没找到在GBK编码下比较好的解决方案,但今天看到BeanSoft 的一篇文章《JSP 中 AJAX 的表单提交中文问题的简单解决方案》说到使用BASE64的方法,这个倒是没有试过,过两天放假的时候就试一下,如果成功了就跟大家共享一下。

PS:因为项目用也用到了FILTER,在提交后第一时间会被改变字符编码,不知道是不是这个增加的乱码解决的复杂性,当然我也试过在getParameter之前改变它的编码回utf-8,但结果是一样的。

posted @ 2006-12-30 13:34 errorfun 阅读(3968) | 评论 (6)编辑 收藏

     摘要: 乱码问题好像跟我们中国程序员特别有缘,一直困扰着我们,从开始的JSP乱码问题,STRUTS乱码问题,到现在的AJAX乱码问题,无一不是搞得许多程序员焦头烂额的,整天骂XXX产品对中文支持不了,UTF-8无法使用中文啊什么的,其实这里面被骂的产品中其实99%以上是对中文支持非常好的,而出现乱码的原因只是因为自身对国际化支持以及文件编码等信息的认识不知造成的。要知道一个产品那么流行,怎么可能对中文支持不了呢,下面就开始一一帮大家解决这些问题。  阅读全文

posted @ 2006-12-09 21:24 errorfun 阅读(3842) | 评论 (12)编辑 收藏

     摘要: 最近在做一个关于层拖动的相关代码时,发现了一个关于prototype的bug,与此bug相关的类就是Position 。其结果就是导致标签使用了某些方法后在页面的某些情况下会定位错误。下面跟我一起看看这个烦人的问题。  阅读全文

posted @ 2006-12-09 14:47 errorfun 阅读(1490) | 评论 (2)编辑 收藏