在Matlab 2018(2016 +)中,其编辑器的编码依赖于本地的locale,由于本人使用的系统为Windows 10英文版,在使用Matlab的编辑器中输入中文时保存再打开会乱码(即使文件 编码显示为UTF-8,但是依旧无法正确读取,且在其他编辑器也无法查看,反之亦然)。
以下针对Windows10英文版对Matlab编辑器进行设置(英文版默认为Windows-1252编码)

针对Windows-1252编码

  • 定位到目录C:\Program Files\MATLAB\R2018b\bin
  • 修改lcdata.xml(不是lcdata_utf8.xml),在文件增加以下行,重启Matlab即可正常显示.m文件之类的中文字符且保存之后不会乱码
<codeset>
  <encoding name="UTF-8">
   <encoding_alias name="windows-1252" />
  </encoding>
</codeset>

在Matlab的命令行模式下输入:

>> feature('locale')

可以输出:

ctype: 'en_US.windows-1252'
collate: 'en_US.windows-1252'
time: 'en_US.windows-1252'
numeric: 'en_US_POSIX.windows-1252'
monetary: 'en_US.windows-1252'
messages: 'en_US.windows-1252'
encoding: 'windows-1252'
terminalEncoding: 'IBM437'
jvmEncoding: 'UTF-8'
status: 'MathWorks locale management system >initialized.'warning: ''
  • 完成以上步骤后即可在.m文件中按照UTF-8编码正确保存中文,但注意,在.m文章中设计console的中文输出,比如disp依旧会乱码,但此不属于.m文件范畴,以后再作完善。
最后修改:2023 年 08 月 02 日
如果觉得我的文章对你有用,请随意赞赏