当前位置: 技术问答>linux和unix
MYSQL使用GBK编码,该如何处理
来源: 互联网 发布时间:2016-11-25
本文导语: mysql使用gbk编码 里面的中午读出来是乱码 我想将起读出来赋给std::string 可中文有问题 我使用 int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen) { iconv_t cd; int rc; char **pin = &in...
mysql使用gbk编码
里面的中午读出来是乱码
我想将起读出来赋给std::string
可中文有问题
我使用
int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)
{
iconv_t cd;
int rc;
char **pin = &inbuf;
char **pout = &outbuf;
cd = iconv_open(to_charset,from_charset);
if (cd==0) return -1;
memset(outbuf,0,outlen);
if (iconv(cd,pin,(size_t*)(&inlen),pout,(size_t*)&outlen)==-1)
return -1;
iconv_close(cd);
return 0;
}
//UNICODE码转为GB2312码
int GBK2GB2312(char *inbuf,int inlen,char *outbuf,int outlen)
{
return code_convert("GBK","gb2312",inbuf,inlen,outbuf,outlen);
}
通过GBK2GB2312函数转换之后也是?????
请问哪里是不是错了
多谢
里面的中午读出来是乱码
我想将起读出来赋给std::string
可中文有问题
我使用
int code_convert(char *from_charset,char *to_charset,char *inbuf,int inlen,char *outbuf,int outlen)
{
iconv_t cd;
int rc;
char **pin = &inbuf;
char **pout = &outbuf;
cd = iconv_open(to_charset,from_charset);
if (cd==0) return -1;
memset(outbuf,0,outlen);
if (iconv(cd,pin,(size_t*)(&inlen),pout,(size_t*)&outlen)==-1)
return -1;
iconv_close(cd);
return 0;
}
//UNICODE码转为GB2312码
int GBK2GB2312(char *inbuf,int inlen,char *outbuf,int outlen)
{
return code_convert("GBK","gb2312",inbuf,inlen,outbuf,outlen);
}
通过GBK2GB2312函数转换之后也是?????
请问哪里是不是错了
多谢
|
我来助你