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

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

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

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问https://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编码.

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

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

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

延伸阅读
标签: Web开发
ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,注意前后台编码一致.你用的是中文.而ajax传输数据的时候用的是utf-8 ,还有对ajax get方法时最好escape 或urlcode, 代码如下: %@ page contenttype="text/html;charset=gb2312% 如果是用servlet就加 代码如下: response.setcontentty...
主要有三个问题: 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;...
标签: 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开发
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法。 1、JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可, 2、数据库乱码 这种乱码会使你插入数据库的中文变成乱码,或者读出...

经验教程

382

收藏

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