<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鄧華

    BlogJava 聯系 聚合 管理
      48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks
    這回碰到的情況是prototype.js產生的序列化字符串傳遞到后臺后,亂碼的問題。

    環境: prototype-1.4.0.js,gb2312編碼的jsp?,后臺:Linux?2.6.9, resin2., resin的啟動參數加了 -Dfile.encoding=ISO-8859-1


    在網頁提交參數的時候。 用了:

    var?myAjax?=?new?Ajax.Request(url,?{method:?'post',?parameters:?Form.serialize($('converge')),onComplete:?showResponse,onLoaded:doing,onLoading:doing});


    其中Form.serialize($('converge')),是把converge表單中所有的字段,拼成method=xxx&type=sss的形式, 在prototype的函數中,會把key和value分別用encodeURIComponent 來把一個字符串轉成utf-8的URL編碼形式.

    比如,“中文”會被編碼成:%E4%B8%AD%E6%96%87

    但該字符串傳到后臺時,會被識別成亂碼. 用request.getParameter取到的字符串也是亂碼,而不是本身的字符。

    主要原因是%號,如果該串改成%22E4%22B8%22AD%22E6%2296%2287 也是可以識別的.?

    解決方法: 在prototype文件中找到 encodeURIComponent? 這段, 在encodeURIComponent 后,再將該字符串用escape方法再編碼一次。 這時候傳到后臺,用request.getParameter,可以得到編碼后的正確的字符串。即 %E4%B8%AD%E6%96%87 .

    這時,可以用java.net.URLDecoder.decode(keyword,"UTF-8");? 對這個字符串進行解碼,從而得到正確的中文。



    posted on 2006-11-09 09:52 鄧華的碎碎念 閱讀(472) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 男女一边桶一边摸一边脱视频免费| 成年女人毛片免费播放视频m| 亚洲国产日韩在线人成下载| 日韩在线a视频免费播放| h在线看免费视频网站男男| 久久久亚洲欧洲日产国码是AV | 亚洲欧洲另类春色校园小说| 国产91久久久久久久免费| 永久免费av无码入口国语片| 亚洲欧美日韩综合久久久| 亚洲精品乱码久久久久久| 黄瓜视频高清在线看免费下载 | 亚洲国产成人久久77| 亚洲精品国产精品乱码不卞 | 一级做a爱过程免费视频高清| 亚洲色偷偷av男人的天堂| 亚洲国产成人五月综合网 | 色婷婷精品免费视频| 久久精品国产亚洲AV高清热| 亚洲精品国产综合久久一线| 1000部拍拍拍18免费网站| a级毛片免费网站| 亚洲精品国产suv一区88| 91亚洲精品视频| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲A∨无码无在线观看| 日本无卡码免费一区二区三区| 日本视频在线观看永久免费| 免费大片av手机看片高清| 亚洲av乱码一区二区三区香蕉| 亚洲欧洲美洲无码精品VA| 国产又长又粗又爽免费视频 | 亚洲av无码专区国产不乱码| 中文字幕亚洲综合久久| 久久久精品国产亚洲成人满18免费网站 | 抽搐一进一出gif免费视频| 亚洲AV无码资源在线观看| 中文字幕亚洲综合小综合在线| 亚洲av色影在线| 亚洲色欲久久久综合网东京热| 免费国产在线观看|