jsp环境下ajax乱码问题的解决

2016-02-19 19:20 6 1 收藏

图老师小编精心整理的jsp环境下ajax乱码问题的解决希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - Web开发 】

AJAX传递中文字符串时必须把中文字符串编码成unicode,一般会用到JS的自带函数escape().不过找到了更好的函数来确决中文字符转换成unicode编码的函数

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

function uniencode(text)   {       text = escape(text.toString()).replace(/+/g, "%2B");       var matches = text.match(/(%([0-9A-F]{2}))/gi);       if (matches)       {           for (var matchid = 0; matchid matches.length; matchid++)           {               var code = matches[matchid].substring(1,3);               if (parseInt(code, 16) = 128)               {                   text = text.replace(matches[matchid], '%u00' + code);               }           }       }       text = text.replace('%25', '%u0025');           return text;   } 当然服务器端要对编码过的字符串进行第二次转码.把字符串转换成UTF-8编码.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

function convert_int_to_utf8($intval)   {       $intvalintval = intval($intval);       switch ($intval)       {           // 1 byte, 7 bits           case 0:               return chr(0);           case ($intval & 0x7F):               return chr($intval);               // 2 bytes, 11 bits           case ($intval & 0x7FF):               return chr(0xC0 | (($intval 6) & 0x1F)) .                   chr(0x80 | ($intval & 0x3F));               // 3 bytes, 16 bits           case ($intval & 0xFFFF):               return chr(0xE0 | (($intval 12) & 0x0F)) .                   chr(0x80 | (($intval 6) & 0x3F)) .                   chr (0x80 | ($intval & 0x3F));               // 4 bytes, 21 bits           case ($intval & 0x1FFFFF):               return chr(0xF0 | ($intval 18)) .                   chr(0x80 | (($intval 12) & 0x3F)) .                   chr(0x80 | (($intval 6) & 0x3F)) .                   chr(0x80 | ($intval & 0x3F));       }   } 这样中文字符串就可以转换成UTF-8编码.这种方法适合各种服务器环境..

来源:http://www.tulaoshi.com/n/20160219/1620767.html

延伸阅读
主要有三个问题: 1,struts中资源文件中如果value为中文,显示乱码 解决办法:使用eclipse插件Properties Editor 2,在文本域里输入中文显示乱码 解决办法:使用servlet过滤器filter 最简单的可以借用tomcat下面的filters.SetCharacterEncodingFilter在自己的web.xml配置中加入tomcat中servlet_examples相应配置(高手可以自己配!) ...
标签: Web开发
用过AJAX的朋友肯定知道javascript是使用UTF-8国际编码,即每个汉字用4个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码。 有一种解决办法就是使用encodeURIComponent加上修改Content-Type为application/x-www-form-urlencoded"来把数据统一编码成url格式,当然,也可以指定编码,如:“application/x-www-form-urlencoded;...
struts的资源文件的中文问题让我十分恼火,怎么整就使出不来中文,全是???或杂七杂八的一些看不懂的蝌蚪文。话不多说,看下面重点     主要有三个问题: 1,struts中资源文件中如果value为中文,显示乱码      解决办法:使用eclipse插件Properties Editor    ...
标签: Java JAVA基础
作者:BADBOY 在PWIN98SE环境下 ,我使用JSP运行环境为JSWDK-1.0.1和JDK1.3,要到http://java.sun.com处下载。JDK1.3安装过程很简单,JSWDK1.0.1无须安装只要解压缩即可。然后修改AUTOEXEC.BAT如下: PATH=%PATH%;d:\jdk1.3\bin set CLASSPATH=d:\jdk1.3\lib\tools.jar set JAVA_HOME=d:\jdk1.3(我把JDK装到了D盘) 有两个问题有必要说...
标签: Web开发
网页制作Webjx文章简介:AJAX中文问题分为两大类. AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: varurl="a.jsp?name=小李"; xmlHTTP.open("post",url,true); 解决办法: 利用javascript的提供的escape()或encodeURI()方法 ...

经验教程

887

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部