matlab 对pcd文件转码 utf-8_UE4读取文本文件(GB2312)出现乱码的问题

199fd69abb9d07dca7bd47e9b5bbcd98.png

最近在做UE4读取csv表的功能,但是通过FFileHelper::LoadFileToString取读文本时,如果文件中有中文,则读取后会产生乱码。经过一番查找后终于解决,现在我把原因、处理方法记录如下:

UE4版本:4.26

为什么会有乱码?

用wps把xls(Excel表格格式)导出成csv时,默认文件编码是GB2312(简体中文),不能选择其它编码(如UTF8),但是UE4读取这个文件时是按照UTF8格式进行读取的,所以会有乱码(具体逻辑在FFileHelper::BufferToString中)。那么也许你会问,UE4为什么这么傻,怎么读个文本文件都读不对。这是因为UE4根本识别不出这个文件的格式,后面会详细说。

简单的处理方法

1、将csv转换成UTF8就没问题了。

2、用Excel导出csv。在网上看到用Excel导出时可以选择UTF8格式,但是wps好像没有这个功能。(https://jingyan.baidu.com/article/6fb756ecc14e4e651958fb52.html

我的处理方法

在Windows上用win32系统函数MultiByteToWideChar,将GB2312转换成UTF16,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值