熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Jsp環境下的AJAX亂碼問題

2013-11-23 18:50:43  來源: Java核心技術 

  AJAX傳遞中文字符串時必須把中文字符串編碼成unicode一般會用到JS的自帶函數escape()不過找到了更好的函數來確決中文字符轉換成unicode編碼的函數
   
    function uniencode(text)
   
    {
   
    text = escape(texttoString())replace(/\+/g %B
   
    var matches = textmatch(/(%([AF]{}))/gi)
   
    if (matches)
   
    {
   
    for (var matchid = ; matchid < matcheslength; matchid++)
   
    {
   
    var code = matches[matchid]substring(
   
    if (parseInt(code ) >=
   
    {
   
    text = textreplace(matches[matchid] %u + code)
   
    }
   
    }
   
    }
   
    text = textreplace(% %u
   
    return text;
   
    }
   
    當然服務器端要對編碼過的字符串進行第二次轉碼把字符串轉換成UTF編碼
   
    function convert_int_to_utf($intval)
   
    {
   
    $intvalintval = intval($intval)
   
    switch ($intval)
   
    {
   
    // byte bits
   
    case :
   
    return chr(
   
    case ($intval & xF)
   
    return chr($intval)
   
    // bytes bits
   
    case ($intval & xFF)
   
    return chr(xC | (($intval 》 ) & xF))
   
    chr(x | ($intval & xF))
   
    // bytes bits
   
    case ($intval & xFFFF)
   
    return chr(xE | (($intval 》 ) & xF))
   
    chr(x | (($intval 》 ) & xF))
   
    chr (x | ($intval & xF))
   
    // bytes bits
   
    case ($intval & xFFFFF)
   
    return chr(xF | ($intval 》 ))
   
    chr(x | (($intval 》 ) & xF))
   
    chr(x | (($intval 》 ) & xF))
   
    chr(x | ($intval & xF))
   
    }
   
    }
   
    這樣中文字符串就可以轉換成UTF編碼這種方法適合各種服務器環境


From:http://tw.wingwit.com/Article/program/Java/hx/201311/25844.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.