首页 > 开发 > AJAX > 正文

ajax乱码的一种解决方法

2024-09-01 08:30:18
字体:
来源:转载
供稿:网友

错新技术频道小编在Internet上的找了许多解决方案都基于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乱码的一种解决方法之后,相信各位朋友们,都已经搞清楚了这个问题了吧,总之,希望大家可以学会更多的技术知识!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表