MFC中CFile读取中文乱码
在Unicode下使用MFC的CFile读取有中文的文件,直接显示会显示乱码。
解决办法:使用CA2W进行转换编码即可
CFile file;if (file.Open(m_pDoc->m_strFilePath, CFile::modeRead)){int nLen = (int)file.GetLength();char * szDate = new char[nLen + 1];file.Read(szDate, nLen);szDate[nLen] = '\0';//用CA2W 转换格式CString strbuf = CA2W(szDate, CP_UTF8);m_editShowFile.SetWindowText(strbuf);file.Close();delete[] szDate;}
关于编码转换的补充:
字符串的ASCII和UNICODE之间的转换
(1) Win32提供了API函数MultiByteToWideChar和WideCharToMultiByte来提供这种功能。
(2) ATL还提供了另一套转换宏——CA2W、CA2T、CA2WEX、CA2CT、CW2T、CW2A、CW2AWX
CW2A将宽字符集(Unicode)转化为多字符集(ASCII)
CA2W就是将多字符集(ASCII)转化为宽字符集(Unicode)
头文件:#include <atlstr.h>
注意要利用USES_CONVERSION提前进行声明。
C: convert 转换
W: wide 广泛的
2: to 到
A ASCII; ASCII码
MFC中CFile读取中文乱码相关推荐
- C#中StreamReader读取中文出现乱码
有时在用C#中StreamReader读取中文时出现乱码 如: using System; using System.Collections.Generic; using System.Linq; u ...
- linux mysql 乱码怎么解决_MySQL_linux中解决mysql中文乱码方法,改默认编码:/etc/init.d/my - phpStudy...
linux中解决mysql中文乱码方法 改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /v ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...
- RStudio中,出现中文乱码问题的解决方案
RStudio中,出现中文乱码问题的解决方案 参考文章: (1)RStudio中,出现中文乱码问题的解决方案 (2)https://www.cnblogs.com/nxld/p/6098987.htm ...
- 解决 IntelliJ IDEA 内置的 Tomcat 日志中显示的中文乱码
解决 IntelliJ IDEA 内置的 Tomcat 日志中显示的中文乱码 方法 1 方法 2(不推荐) 笔者的环境: JDK 13.0.2 Maven 3.6.3 Tomcat 9.0.41(Se ...
- linux tomcat 日志乱码,Linux下TOMCAT中日志出现中文乱码
红帽子AS4,其中TOMCAT为6.0. 结果TOMCAT中日志出现中文乱码 解决方法修改i18n: 最后的配置为: [root@linux etc]# more /etc/sysconfig/i18 ...
- 【转】QT中使用MYSQL中文乱码解决方法
[转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...
- linux中mysql不显示中文_linux中解决mysql中文乱码方法
改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据 ...
- Java学习中遇到的中文乱码问题的整理和解决方法
目录 前言 1. 学习SpringMVC框架的时候遇到的中文乱码(一) 2. 学习SpringMVC框架的时候遇到的中文乱码(二) 3. 学习Servlet的时候可能会遇到的中文乱码(一) 4. ...
最新文章
- 小图拼接大图MATLAB实现
- go 定义一个结构体并赋初始值_Go中必须谈论的四个迷点
- 搞懂这四个问题,企业数字化转型才可能成功
- 并发(Concurrency)和并行(Parallelism)
- SAP ABAP实用技巧介绍系列之Debug XSLT transformation
- python创建虚拟环境失败_?conda创建虚拟环境失败,如何解决?
- java cookie安全_cookie的安全性问题
- 用诗歌描写计算机课,小班诗歌公开课教案范文【3篇】
- 自学python考哪些证书-Python自学难吗?有哪些课程内容?
- 图像处理笔记(十七):再看傅里叶变换
- 高通MSM8937芯片参考资料免费下载
- 弧长公式 | 微积分
- 爬虫,酷我音乐接口解析
- 3 非齐次线性微分方程与无量纲化
- 简单了解计算机组成原理 -- CPU与操作系统
- 在Outlook 2007日历中显示两个时区
- #4258. 铃铛计数问题
- 绿色和平发布IT企业环保排名
- 武汉理工大学2021计算机考研经验分享
- SpringBoot 安全漏洞之XSS注入攻击(jsoup版本)