posts - 7, comments - 17, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

一段对话,关于Ajax和编码

Posted on 2006-06-20 05:38 Ardor Leo 阅读(1513) 评论(2)  编辑  收藏 所属分类: 有点心得
       这是我和朋友在MSN上的对话,朋友是非常棒的一个家伙,很厉害。就是他把prototype.js引进到项目中的,介绍给我的,现在都离不开了。
      这段对话是在朋友的启发下总结的。有所得,有失误。欢迎不同意见的、高人来拍几下,呵呵。
 

  Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

是这样的,解决了ajax的编码问题,可是对项目的整体编、解码产生了影响

你还得吧,我们的基础转码是在filter中作的

而且就是Tomcat中标准的格式

Evan 说:

加个参数

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

我把AJAX中的参数检测放到了那段代码最开始,想让它不影响后面的GBK编、解码

可是还是影响了

Evan 说:

那要跟一下才知道

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

原因就是我执行过request.getParamter("")。虽然,这里我并没有设置编码,就是没用过request.setCharsetEncoding()。可是还是让后面的代码失效了

这个试了很多次就是这样

Evan 说:

不清楚了

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

把转AJAX参数的代码放到系统编、解码后面,系统就不会受影响

很奇怪的

Evan 说:

??

是很奇怪的

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

然后,对于AJAX的参数就只能GBK到UTF-8了

可是又有新问题了,就是这样得到的字符集比较小,提交上来的中文参数是一个字的时候,还会乱码

两个字就不会,中文空格会乱码

Evan 说:

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

对于项目中的问题,最终的方式就是把算法资源从后台全部移至前端用javascript做了

Evan 说:

不会这么复杂把

感觉不对

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

刚才说到的Tomcat过滤器的问题,我怀疑是第一次用过request.getParameter()后,它读东西到缓存中,以后只读缓存,所以再设编码就不起作用了

Evan 说:

有可能

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

我不想这复杂,可是没找到更好的办法

而且没看到如何可以让request重新读一下原始的数据流

还有一个问题,你还记得吧。我做弹出框,脚本不能执行的问题吧?

现在有了答案了

我看到了一篇文章发给你,不过我还没试过

http://www.coolcode.cn/?p=117

很强的一个牛人

Evan 说:

谢谢

Ardor Leo【对AJAX的编码问题初战告捷!二战失利啊…】 说:

还有一个网站,很牛的人,自己把javascript扩展成完全面向对象的了

http://www.ajaxwing.com/

算是一个教训,以后要全用utf-8做程序的,不然就死翘翘了,呵呵呵

Evan 说:

好动动


评论

# re: 一段对话,关于Ajax和编码  回复  更多评论   

2006-06-20 16:16 by Alex
我想知道你的这个页面引用的效果是怎么做的?

# re: 一段对话,关于Ajax和编码  回复  更多评论   

2006-06-20 23:24 by yangqing
结论是:“算是一个教训,以后要全用utf-8做程序的",早就应该这样了,因为我在台企工作,所以感受可能比你深。我这边做的大多是国际化应用,所以不用utf-8的话,早就死n次了。

只有注册用户登录后才能发表评论。


网站导航: