主页 > 知识库 > ajax 乱码的一种解决方法

ajax 乱码的一种解决方法

热门标签:阿里云 科大讯飞语音识别系统 服务器配置 银行业务 团购网站 Linux服务器 Mysql连接数设置 电子围栏

上网找了一些资源,才弄明白这是编码的问题,我的服务器端发送过来的数据是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)

您可能感兴趣的文章:
  • 解决ajax+php中文乱码的方法详解
  • JQuery AJAX 中文乱码问题解决
  • ajax中文乱码问题解决方案
  • ajax中文乱码的各种解决办法总结
  • AJAX中文乱码PHP中完美解决方法
  • 用js来解决ajax读取页面乱码
  • ajax以及一些乱码问题
  • JQuery AJAX提交中文乱码的解决方案
  • Javascript和Ajax中文乱码吐血版解决方案
  • 浅析AJAX乱码及错误解决方案

标签:大理 蚌埠 江苏 广元 枣庄 衡水 萍乡 衢州

巨人网络通讯声明:本文标题《ajax 乱码的一种解决方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266