//编码转换 //#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) // string title = "成绩"; // GBK2UTF8(title,"gb2312","utf-8"); //#endif static int GBK2UTF8(std::string & gbkStr, const char* toCode, const char* fromCode) { iconv_t iconvH; iconvH = iconv_open(fromCode, toCode); if (iconvH == 0) { return -1; } const char* strChar = gbkStr.c_str(); const char** pin = &strChar; size_t strLength = gbkStr.length(); char* outbuf = (char*) malloc(strLength*4); char* pBuff = outbuf; memset( outbuf, 0, strLength*4); size_t outLength = strLength*4; if (-1 == iconv(iconvH, pin, &strLength, &outbuf, &outLength)) { iconv_close(iconvH); return -1; } gbkStr = pBuff; iconv_close(iconvH); return 0; }