收录日期:2020/09/26 01:25:23 时间:2016/07/15 11:38:28 标签:基础类
  有个外国软件生成的XML文件,中间有中文。

使用fopen,fread读的时候,里面的中文是乱码。

把XML在我的电脑中复制,并粘贴到新文件,保存,读的就是正确的中文。

VC中如何做?
Unicode的问题,你不妨使用CreateFile ReadFile 等API进行操作
工程设置为Unicode类型
用unicode字符函数
丢2个函数出来啊。不太了解。

OFSTRUCT of;
HANDLE pfile = (HANDLE)OpenFile(lpszPathName,&of,OF_READ);
if( pfile == (HANDLE)HFILE_ERROR)
{
AfxMessageBox("打开文件失败");
delete this->m_cMarkup;
this->m_cMarkup = NULL;
return FALSE;
}

DWORD filesize = GetFileSize(pfile,NULL);
char *p_Buffer = new char[filesize+1];
DWORD readsize;
BOOL bRead = ReadFile(pfile,p_Buffer,filesize,&readsize,NULL);
p_Buffer[filesize] = 0;

CloseHandle(pfile);

char *p = p_Buffer + 315680;
AfxMessageBox(p);
delete p_Buffer;
p_Buffer = NULL;
return FALSE;


读出来的还是乱码。
而且我查了下,这个文件不是UNICODE文件。



     CFile mFile(lpszPathName,CFile::modeRead);
   byte head[2];
   mFile.Read(head,2);  
   if((head[0]==0xff&&head[1]==0xfe)||(head[0]==0xfe&&head[1]==0xff)   )
   {
  AfxMessageBox(_T("File is Unicode!"));
   }



运行同一个文件,没有报是 FILE IS UNICODE.
字符编码不同
你自己的计算机上没有安装相应的语言支持,读取成BYTE后,你也没有处理。

TINY XML 就是这样的,他的代码直接在没有西文支持的中文系统上时,代码中好多乱码
放到西文系统中就不是乱码了。

所以,要根据国家识别码转换,这个,好像好麻烦的样子,没有搞过
我是直接装了个VM的西文系统
查看一下xml内的编码是ansi还是unicode,然后根据你项目的设置,如果需要则对读入的内容做相应ansi<->转换.
用UltraEdit打开文件,然后切换到16进制视图,贴出最前面的四个字节
Unicode
FF FE

Unicode big endian
FE FF

UTF-8
EF BB BF
格式是UTF-8

要转换为ANSI. 

急,关于用vc.net开发三层结构的软件 一个超级简单的sql问题 调试疑问:难道注释信息经过zend加密后会造成linux下运行错误? 救命啊!各位,怎样进入注册表啊?要完全册除一个用户应该怎样啊? 求一句简单的SQL 关于jdbc的问题 SOS:问天下谁是高手?tomcat activex 的问题 Master/detail 程序的增加﹑修改﹑保存 郁闷~~~~,散分 [散分规则:每人(100 div 回复人数)分,前(100 mod 回复人数)人再加1分] 已经安装了ZendOptimizer-2.5.7,为什么看php仍然是乱码 大家能谈谈为request.getPathInfo()这个方法的作用吗? 终于升到五颗星,开始了一个新的起点,散分 关于excel文件的下载和打印?急,谢谢!!! 向五笔用户推荐 极点五笔 新手问一个关于JavaScript代码的问题! 请教问题,给50分,谢谢了 很菜的一个问题。计算机是如何现实图形的? 高手请进,很急的!!!!!!eVC开发使用fopen函数出现的问题 关于excel文件的下载和打印?急,谢谢!!! 我在使用化境无组件上传时,upfile.asp文件中必须加上On Error Resume Next这一句,否则就会出800a0bb9错误!为何? 请教~库房库位的图形化界面管理,支持托拽的库位调整~ 哪里有关于WIN XP中控制台批处理文件的书写方法和格式的资料? 如何部署? string怎样转化为char* (注意不是CString) 怎么样从服务器上下载excel文件? 为什么网络连接在一切都好的情况下老是断断续续的显示“本地连接没有接好”??? 请各位专家给点思路 我想在老的HP LH3服务器(scsi硬盘)上安装RedHat 9.0但是安装不上??? 关于软件测试的朋友欢迎进来交流 请问:在sping中,提交后,没有到SimpleFormController的onSubmit而是直接到配