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编码这种方法适合各种服务器环境