ajax 乱码的一种解决方法

2016-02-19 11:02 18 1 收藏

今天图老师小编给大家介绍下ajax 乱码的一种解决方法,平时喜欢ajax 乱码的一种解决方法的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

上网找了一些资源,才弄明白这是编码的问题,我的服务器端发送过来的数据是GB2312编码的,而AJAX把接收到的数据都当成UTF-8编码的。
网上的很多解决方法都是服务器端基于PHP、JSP等的,要改变这些的编码方式都比较简单。但是我的服务器端是用了C编写的CGI程序,用于嵌入式系统中的,所有的输出都是用了printf。
最后找到一个在linux下的头文件iconv.h,它实现了各种编码的转换。使用方法如下:
代码如下:

int Gb2312toUtf8(char *inbuf,char *outbuf)
{
#ifdef ISCHANGE
iconv_t cd;
int inlen,outlen;
inlen=strlen(inbuf);//得到输入字符串的长度
outlen=100;//输出字符串长度。
char **pin=&inbuf;
char **pout=&outbuf;
cd=iconv_open("utf-8","gb2312");//设置为GB2312转为UTF-8
if (cd==0) return -1;
memset(outbuf,0,outlen);
if(iconv(cd,pin,&inlen,pout,&outlen)==-1)
return -1;
iconv_close(cd);
#else
Strcpy(outbuf,inbuf);
#endif
return 0;
}

这样把要输出的内容经过转换后再输出,就不会出现乱码了。
但是,第一次的页面输出和后面AJAX请求的输出又是同一段代码,转换后第一次输出又出现了乱码,所以我加了一个宏定义,在编译AJAX输出的程序时,加出了#define ISCHANGE 1,这样就可以正确的显示了。(其实应该有更好的解决方法,请知道的朋友告诉我。Luoliang28@126.com)

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

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

延伸阅读
标签: Web开发
jsp中文乱码 jsp mysql 乱码要servlet里面支持中文的方法: 在dopost或者doget的第一句加上: request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312"); jsp乱码问题在jsp里面就把 %@ page contentType="text/html; charset=gb2312" language="java" import="jav...
标签: 电脑入门
有同事开机出现乱码并且花屏,通过本教程的方法已得到解决,相信有不少朋友也遇到类似情况下,可以参考本教程方法来解决问题哦。 花屏时全是乱码. 乱码就是:那些英文字母全变了样,本来是个A的成了其它的字母,还有就是中间一线的字母本来是黑底白字的,结果成了黑底红字.CMOS里面更是乱了,不仅字母乱七八糟,而且边框的线也成了字母,有些选项的...
标签: Web开发
做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是Ie... 在网上找了好多资料后,总结一下 1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 在javasc...
第一个方法: MySQL 4.1 中文乱码的问题 最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下见解对大家有用。 1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念。 2. 在 MySQL 4.0 ,一般的程式都会将文字以拉丁文 ( latin) 来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字栏...
《魔法门:英雄交锋》 黑屏其中一种解决方法 最近在玩神采 刚好看到这游戏出汉化 但是不管怎么弄 都不能进游戏 板上所有的方法我都试过了 都会进游戏后马上黑屏没几秒就跳回桌面 最后不想玩啦 回去继续玩神采 没想到我转到日文语系后竟然能够玩了.....   《魔法门:英雄交锋》黑屏自动关闭 解决方法 所有汉化关于进游戏双击打...

经验教程

835

收藏

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