字符网页输出的一些测试

unicode环境下

 

C_Error c_err(_T("getmap功能尚未开放")); c_err.senderror();

 

情况一: int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=utf-8;"); fprintf(stdout, "/n/n"); fprintf(stdout,"%ws",serror); return 0; } //此时输出正常 //PS:汗,这里也是乱码,可能是没清缓存的原因,导致第一次测试的结果还是正常的,实际上汉字是乱码,差点以为是fprintf会帮忙转换 =_=!

int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=utf-8;"); fprintf(stdout, "/n/n"); fprintf(stdout,"%s",serror); //_tprintf(serror); return 0; } //此时输出为g, 后面已经没了

 

int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=utf-8;"); fprintf(stdout, "/n/n"); //fprintf(stdout,"%s",serror); _tprintf(serror); //此时等于 wprintf(serror); return 0; } //此时中文为乱码

int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=utf-8;"); fprintf(stdout, "/n/n"); //fprintf(stdout,"%s",serror); _tprintf(_T("%ws"),serror); //_tprintf为wprintf,且"%ws"必须加_T(),否则报错 return 0; } //此时不管 为"%ws" 还是 "%s" 输出遇到中文都为乱码 //若 charset=utf-8 改成gbk,则不管"%ws"和"%s"都能正常输出

 

int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=gkb;"); fprintf(stdout, "/n/n"); fprintf(stdout,"%ws",serror); //_tprintf(_T("%s"),serror); //_tprintf(serror); //此时等于 wprintf(serror); return 0; } // charset=gkb 此时输出正常

int C_Error::senderror() { fprintf(stdout, "Content-Type:text/html;charset=gkb;"); fprintf(stdout, "/n/n"); //fprintf(stdout,"%ws",serror); //_tprintf(_T("%s"),serror); _tprintf(serror); //此时等于 wprintf(serror); return 0; } //charset=gkb 此时输出正常

 

 

你可能感兴趣的:(c,测试)