Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Utf 8 wxWidgets和UTF8-缺少一些字符_Utf 8_Wxwidgets - Fatal编程技术网

Utf 8 wxWidgets和UTF8-缺少一些字符

Utf 8 wxWidgets和UTF8-缺少一些字符,utf-8,wxwidgets,Utf 8,Wxwidgets,我用UTF8编码了这个文件。我加载它并按如下方式打印: char buffer[2048] = {0}; FILE *pFile = fopen("D:/localization.csv","rb"); int iret = fread(buffer,1,2048,pFile); fclose(pFile); wxString strMessageText = wxString::FromUTF8(buffer); wxMessageBox(strMessageText); 问题是,当文本

我用UTF8编码了这个文件。我加载它并按如下方式打印:

char buffer[2048] = {0};

FILE *pFile = fopen("D:/localization.csv","rb");
int iret = fread(buffer,1,2048,pFile);
fclose(pFile);

wxString strMessageText = wxString::FromUTF8(buffer);
wxMessageBox(strMessageText);

问题是,当文本包含一些无效字符时,它不会被创建。strMessageText的长度为0。例如,我注意到丹麦语或德语字符可以,但当我在文本文件中放入波兰语或俄语字符时,wxString::FromUTF8函数无法创建正确的文本。有什么想法吗?

如果文件包含正确编码的UTF-8文本,wxString::FromUTF8将对其进行解码。如果没有,您仍然可以使用例如MAP_INVALID_UTF8_TO_octall来保留输入中甚至编码错误的字节,但这通常不是一个好主意。

我在这里找到了解决方案 原来我的wxWidgets库已经过时了。我有版本2.8.12,更新到3.0.2,一切正常