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

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

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

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

结果如下:

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

解决办法:打开软件的bin文件夹。在此目录下,会有两个文件lcdata.xml 和 lcdata_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 之后,乱码的中文应该就不再乱码了。但是仍然存在问题:某些汉字仍然会以方块的形式显示。

相关推荐
shaibdoio3 分钟前
AI主动获客的意图识别工程实现:从规则匹配到模型微调
java·开发语言·人工智能·长沙瞬维ai
CoderYanger1 小时前
一轮复习——F.动态规划模型总结(入门篇)
java·开发语言·数据结构·算法·leetcode·职场和发展·动态规划
Frank_refuel1 小时前
【C++】智能指针
开发语言·c++
泡海椒1 小时前
JQuick-Excel VALIDATION 实战:用作用范围约束 Excel 导入校验
开发语言·python·excel
xuxigifxfh2 小时前
HJ11 数字颠倒
java·开发语言·华为机考
一只旭宝2 小时前
数据结构与算法复习手册:从写过,到讲清楚
开发语言·数据结构·c++·算法
百度一下吧2 小时前
断网后 WebView 加载单页面应用:页面跳转 JS 加载失败的处理方案
开发语言·javascript·ecmascript
神仙别闹2 小时前
基于C语言开发的捕捉流星小游戏
c语言·开发语言
程序员Sunday3 小时前
Promise.all、allSettled、race、any 怎么选,失败后其他请求会怎样
开发语言·前端·javascript
daxiangxm3 小时前
GEO策略:让AI直接引用你的内容
开发语言·团队开发·运维开发·个人开发·数据库开发