请大家帮我检查一下代码问题在哪 你这个ConvertUtf8ToGBK函数测试过吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void ConvertUtf8ToGBK(CString& strUtf8)UNICODE下,CString == CStringW这里你的参数应该是CStringA类型 CString相当于TCHAR,就是在UNICODE工程的时候是CStringW,在多字节字符串的时候是CStringA。 CStringW UTF8_To_UTF16(const char *source){ CStringW dest; DWORD len = MultiByteToWideChar(CP_UTF8, NULL, source, -1, NULL, NULL); MultiByteToWideChar(CP_UTF8, NULL, source, -1, dest.GetBuffer(len), len); dest.ReleaseBuffer(); return dest;}BOOL WINAPI CWininetHook::_InternetReadFile(HINTERNET hFile,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead ){ BOOL isBool=s_pfnInternetReadFile(hFile,lpBuffer,dwNumberOfBytesToRead,lpdwNumberOfBytesRead ); MessageBox(NULL, UTF8_To_UTF16(static_cast<const char*>(lpBuffer)), L"", MB_OK); return isBool;}UNICODE模式下就不要把utf8转换为gbk了,直接把utf8转换成utf16显示就行了 之前不是在UNICODE下用过 没问题,后来在UNICODE下修改了一下,就是把MultiByteToWideChar第3个参数转换了一下 其他的没改 英文都乱码应该不是转码问题了,在Hook函数里多加一些判断,比如当前的HTTP响应的内容,是不是一个html,如果是html才能进行转码,如果是一个jpg/gif等就不行的,另外由于是hook来的HTTP响应,得先确认内容有没有用gzip压缩,没有压缩的内容才能直接转码,因为浏览器发送HTTP请求的时候默认是Accept-Encoding:gzip允许接受gzip压缩内容的。 本人新手,想用vc2008读取磁盘上的一个bmp文件,将其中像素装入数组 求几道题解答 求如何进行服务器校时!急急急!! 请教 CListCtrl 的若干 技术问题 请问如何得到对话框和视、框架的HWND? 关于CAsyncSocket的网络编程 如何向IE中添加菜单,象FlashGet那样 高分请教:如何在CRichEditView中设置bitmap为背景? 麻烦哪位提供下MP3转换成wav文件的directshow代码 besier曲面控制点反算 windows api有类似的功能调用吗? 创建一个进程并且捕获其标准I/O? 窗口子类化失败,求教!
这里你的参数应该是CStringA类型
CStringW UTF8_To_UTF16(const char *source)
{
CStringW dest;
DWORD len = MultiByteToWideChar(CP_UTF8, NULL, source, -1, NULL, NULL);
MultiByteToWideChar(CP_UTF8, NULL, source, -1, dest.GetBuffer(len), len);
dest.ReleaseBuffer();
return dest;
}BOOL WINAPI CWininetHook::_InternetReadFile(HINTERNET hFile,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead )
{
BOOL isBool=s_pfnInternetReadFile(hFile,lpBuffer,dwNumberOfBytesToRead,lpdwNumberOfBytesRead );
MessageBox(NULL, UTF8_To_UTF16(static_cast<const char*>(lpBuffer)), L"", MB_OK);
return isBool;
}
UNICODE模式下就不要把utf8转换为gbk了,直接把utf8转换成utf16显示就行了