matlab中中文注释出现乱码问题(部分解决)

问题:过去一直使用的是r2024b的版本,今天需要用r2018b的版本适配win7的系统。但是在r2018b的版本中所有中文出现了乱码现象,怀疑是编码规则的问题。

解决途径:参考https://blog.ericzhuochen.com/post/matlab-utf8/

网上很容易搜到,在 Matlab 的命令行中可以使用 feature('locale') 命令来查看当前的编码方式。

结果如下:

证明 r2018b使用的是GBK编码规则。

解决办法:打开软件的bin文件夹。在此目录下,会有两个文件lcdata.xmllcdata_utf8.xml。其中 lcdata.xml 决定了 Matlab 的编码方式,而 lcdata_utf8.xml 似乎是一个不生效,但是专门用来替代 lcdata.xml 的文件。

首先,把 lcdata.xml 重命名为 lcdata_old.xml,即把它备份一份,防止以后要用到。然后,把 lcdata_utf8.xml 复制一份,就叫做 lcdata.xml,并且打开它,作出一些改动。首先要删掉关于 GBK 的这一部分:

XML 复制代码
<encoding name="GBK'>
    <encoding_alias name="936"/>
</encoding>

然后,改动一下关于 UTF-8 的部分,高亮的那一行是新加入的内容:

XML 复制代码
<encoding name="UTF-8">
    <encoding_alias name="utf8"/>
    <encoding_alias name="GBK"/> 
</encoding>

这么做的目的就是,将 GBK 编码从一种独立的编码方式,改成了 UTF-8 的一个别名,从而欺骗 Matlab,让它使用 UTF-8。虽然很不优雅,但是真的有用。

重启 Matlab 之后,乱码的中文应该就不再乱码了。但是仍然存在问题:某些汉字仍然会以方块的形式显示。

相关推荐
pchmi1 分钟前
C# OpenCV机器视觉:学生注意力监测
开发语言·opencv·c#
lly20240619 分钟前
前端控制器模式
开发语言
钮钴禄·爱因斯晨1 小时前
赛博算命之 ”梅花易数“ 的 “JAVA“ 实现 ——从玄学到科学的探索
java·开发语言·python
卜及中2 小时前
【Go语言快速上手】第二部分:Go语言进阶
开发语言·后端·golang
BuHuaX2 小时前
C#元组和Unity Vector3
开发语言·unity·c#·游戏引擎·全文检索
《雨声》2 小时前
第3章《VTK可视化基础》
开发语言·c++·qt·算法
依瑾雅3 小时前
Scala语言的人工智能
开发语言·后端·golang
大雄野比3 小时前
Kotlin 循环与函数详解:高效编程指南
开发语言·python·kotlin
NoneCoder3 小时前
JavaScript系列(64)--响应式状态管理实现详解
开发语言·javascript·ecmascript
yzpyzp3 小时前
拆解Kotlin中的by lazy:从语法糖到底层实现
android·开发语言·kotlin