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 说:
好动动
|