前言
由于最近在做一个项目,需要从Windows客户端发送给一个请求包给Linux服务器,请求一张图片,当然如果这张图片是英文的,那没有什么问题,我前面一篇博客已经详细解说,如果实现Windows与Linux之间图片传输问题,博文地址:Windows与Linux图片传输,但是,如果这张图片的名字是中文呢?中文乱码肯定是编码问题,windows下是gbk编码,而Linux下默认是utf-8编码,我要实现的就是,客户端发送请求包,请求包里面的是一张图片的名字(中文),然后服务器找到这个文件,将他发送给客户端,并显示。
核心代码如下
#include <string.h>
#include <fstream>
#include <windows.h>
#include <atlstr.h>
#include <atlbase.h>
#include<tchar.h>
//GBK转UTF-8
void GBKToUTF8(CString &strAscii)
{
string s, s2;
std::string strGBK;
strGBK = strAscii.GetBuffer(0);
string strOutUTF8 = "";
WCHAR * str1;
int n = MultiByteToWideChar(CP_ACP, 0, strGBK.