#include <iconv.h> iconv_t cd = iconv_open("utf-8","gb2312"); if(cd == (iconv_t) - 1) { cout << "fail" << endl; } char inbuf[1024] = "按"; char outbuf[1024] = ""; char *in_ch = inbuf; char *out_ch = outbuf; size_t len = strlen(inbuf); size_t avail = 1024; iconv(cd, &in_ch, &len, &out_ch, &avail);