关于QT调用MFC动态库时传递中文字符乱码问题

凡是乱码,一定是解码方式不对,在此做个小小的总结。

MFC CString和QT QString都采用unicode编码

MFC中的char *采用GBK编码,QT中的char *采用UTF-8编码,这里关于字符的编码,有个规律就是和源码文件保存的编一致。

 

 // QT中QString的Unicode编码转GBK编码
QTextCodec * pCodec = QTextCodec :: codecForName(“GBK”);

QByteArray data = pCodec-> fromUnicode(dataFilePath);

char * p = data.data());

你可能感兴趣的:(QT应用开发)