测试条件:
文件名包含部分中文或韩语文字,测试fopen打开

测试场景1
代码段:
   QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    SetFileApisToOEM();

FILE* fp = fopen(name.toLocal8Bit().data(), "r");
    qDebug("data printf %s, %s,%s", name.toUtf8().data(),name.toLatin1().data(),name.toLocal8Bit().data());
 
打印的内容:
data printf I:/work/안녕하세요/123.txt, I:/work/?????/123.txt,I:/work/안녕하세요/123.txt
open fail errno = 42 reason = Illegal byte sequence

结论:
fopen不支持utf-8

测试场景2

代码段:
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
    SetFileApisToANSI();

FILE* fp = fopen(name.toLocal8Bit().data(), "r");
    qDebug("data printf %s, %s,%s", name.toUtf8().data(),name.toLatin1().data(),name.toLocal8Bit().data());
打印的内容:
data printf I:/work/你好/123.txt, I:/work/??/123.txt,I:/work/����/123.txt
open file ok

data printf I:/work/안녕하세요/123.txt, I:/work/?????/123.txt,I:/work//123.txt
open fail errno = 2 reason = No such file or directory

现象:支持中文打开,韩语不支持
结论:部分中文支持GBK编码,所以能打开

正确的打开方式:
FILE *fp = _wfopen(name.toStdWString().c_str(),L"r");
测试中文、韩语打开都支持

参考文章(或链接):
fopen, _wfopen
https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-170
文件名中使用的字符集
https://docs.microsoft.com/en-us/windows/win32/intl/character-sets-used-in-file-names
SetFileApisToOEM function
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfileapistooem

以上测试基于修改系统区域至朝鲜语环境下测试,文章仅代表个人观点,如有错误欢迎留言评论

fopen打开文件名(文件路径含中文或韩语)方法测试相关推荐

  1. python读取文件名或路径含中文字符的图片并从中筛选出全白或者全黑的图片

    之前做样本的时候已经写过这部分代码 只不过筛选的是全黑的样本图和其对应的真实影像 那么当真实影像图包含白色图片而且文件名包含中文字符了怎么办 大家知道imread无法读取路径和图片名称含中文字符的图片 ...

  2. Latex打开tex文件时产生中文乱码的解决方法

    中文兼容方法(能保证编译成功) 引用文章链接:Latex文件分别用Texwork和Winedt打开时,产生中文乱码的解决方法 - 大白技术控 - 博客园 \usepackage{CJK}\begin{ ...

  3. 【完美解决:绝对路径含中文问题】bat一键启动应用绝对路径中含中文导致无法执行

    目录 问题由来 本篇文章将介绍: ①.bat文件如何写 ②代码每一步骤的解释 ③因电脑绝对路径中含有中文导致.bat文件无法启动的问题. .bat文件书写 .bat代码解释 .bat启动路径含中文报错 ...

  4. c 服务器文件路径,c打开服务器文件路径

    c打开服务器文件路径 内容精选 换一换 文件作用:可以关闭/打开监听端口.指定监听端口.指定监听IP等.文件路径:Atlas 300场景下,在Host侧服务器上,在~/ide_daemon目录下查看i ...

  5. 现提供“威力导演10极致版(多国语言含中文)+ 有效激活方法如下——

    大名鼎鼎的专业级影片剪辑制作软件"威力导演",是著名影音软件公司"讯连科技"的主打产品之一.其主要功能和特点是:1.创新10轨覆迭剪辑及炫粒特效设计,只需简单操 ...

  6. PS打开PSD文档服务器未响应,win7打开psd打不开怎么办|win7打开psd文件提示无法完成请求的解决方法...

    psd是一种图片格式,是图形设计软件Photoshop的专用格式.可最近有win7 32位旗舰版用户反映,psd文件突然打不开了,总是提示"无法完成请求".遇到win7打开psd打 ...

  7. win 10升级后不能访问服务器文件夹,Win10打开某些文件夹出现“无法访问”的解决方法...

    win10电脑自动更新后访问某一些文件夹时出现提示"无法访问拒绝访问",导致文件夹打开失败,让大家感到很烦恼,怎么办?这一般是由于权限设置不当造成的,接下来,下面详细讲述一下遇到这 ...

  8. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...

    Python的json文件读取及解决中文乱码显示问题 本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: ...

  9. python json.loads()中文问题-Python实现的json文件读取及中文乱码显示问题解决方法...

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { & ...

最新文章

  1. maven(一 基本操作 命令 标签)
  2. CentOS 6.2 下samba 服务的配置
  3. Docker导入导出镜像两种方式
  4. python培训班一般多少钱-报个python培训班多少钱
  5. matlab的开方算法_正确的「记事本」打开方式:能渲染3D图像,还能玩贪吃蛇
  6. hao123电脑版主页_建议Lenovo用户卸载监守自盗的联想电脑管家
  7. 人工智障学习笔记——梯度下降(1)基础变种
  8. Python3+Selenium3+Unittest+ddt+Requests 接口自动化测试框架
  9. uniapp-简单banner实现
  10. PHP-FPM 配置文件详解
  11. 国美易卡有序实现索引,国美易卡B+树方便区间查找
  12. 【IDEA】出现 Wrong tag ‘Author_‘ 错误的 Author 标签等的黄色警告问题
  13. 高斯-约当 (Gauss-Jordan) 消元法 [学习笔记]
  14. 全款房抵押贷款要注意什么?
  15. 瑞星误删用友服务文件ServerNT.exe
  16. java请求传参方式的总结
  17. RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR之鉴权接口的调用配置说明
  18. 天线接收功率计算公式_对讲机天线增益的计算方法介绍
  19. clamav病毒检测工具的使用
  20. (-):wav文件转化为txt文件

热门文章

  1. vac服务器未响应,csgo国服游戏停止工作、未响应的解决方法
  2. idea Failed to clean project Failed to delete target
  3. 把EXCEL表格导入到MYSQL中_将EXCEL表格中的数据导入mysql数据库表中(两种方法)...
  4. 树莓派学习(一) 如何 关机 重启
  5. 解决数据库高并发的常见方案
  6. python读取文件路径报invalid_Python: 目录名无效怎么办?
  7. javascript 百度地图定位标点,定位详情
  8. linux越狱时手机怎么进入dfu,手动进入DFU模式并开始越狱
  9. pygame声音和音效
  10. 巴菲特致股东的一封信:1998年