MATLAB高版本(2017a以上)存在的两种编码格式
GBK和UTF-8。编码格式修改后可能会导致现有m文件乱码问题解决,但原有注释乱码的问题。
matlab默认编码为GBK,可直接打开GBK文件,不会出现中文乱码。
当用matlab打开使用UTF-8编码的.m文件时,会出现中文乱码的问题。
查找编码格式
打开matlab在命令串口输入:slCharacterEncoding()
解决办法
把matlab默认编码改为UTF-8
我的matlab版本是2018b,默认GBK。网上很多方法就不说了,最好的还是改编码方式,直接一步到位
- 打开matlab安装路径,找到bin文件,下面的lcdata_utf8.xml文件
- 将lcdata_utf8.xml文件用记事本打开、另存为lcdata.xml文件,如果bin目录下已存在lcdata.xml文件,先将原lcdata.xml文件改名(如上图lcdata2.xml文件),再另存为lcdata.xml文件。
- 用记事本打开lcdata.xml文件,修改(ctrl+f 查找快捷),找到以下代码删除
<encoding name="GBK">
<encoding_alias name="936"/>
</encoding>
- 继续查找,找到
<encoding name="UTF-8">
<encoding_alias name="utf8"/>
</encoding>
修改为
<encoding name="UTF-8">
<encoding_alias name="utf8"/>
<encoding_alias name="GBK"/>
</encoding>
- 保存修改,restart matlab,无乱码,成功!
将utf8转为GBK相反操作
同样的思路也就是将部分的代码删除,在那一部分添加<encoding_alias name=“utf8”/>即可。