关于页面Ajax转码问题

今天碰到一个前台MooTools框架Ajax向后台转值,后台接受是乱码的问题。

试关前台用encodeURI(参数)的方式对参数进行URL编码,

后台用java.net.URLDecoder.decode(参数, "UTF-8")进行解码,

然而得到的值一直都是乱码,后来改用其它方法,用javascript函数或后能用java进行转码都未解决,

最后在网上看到一段话:

分析:当调用request.getParameter()函数时,会自动进行一次URI的解码过程,

调用时内置的解码过程会导致乱码出现。而URI编码两次后,

request.getParameter()函数得到的是原信息URI编码一次的内容。

再用可控的解码函数java.net.URLDecoder.decode()就可解出原始的正确的信息。

以上分析纯属个人看法,不知是否正确。

试着将前台参数用encodeURI(encodeURI(参数))转换了两次,问题得以解决。

不知上面的分析是否正确,但问题确实解决,纳闷!

但还是记录下来求证。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章