好不容易把matlab 2016b安装完成,想编程仿真的时候,把之前写好的m文件打开,结果发现中文乱码,气死我了。
翻遍了网上各种方法,在自己电脑上都不试用,只好自己摸索,终于发现是utf8编码问题。matlab 2016b默认采用的是GB18030编码,而自己编写的m文件,因为采用的是matlab 2021a,是utf8编码,两种编码不一致,导致乱码,所以就要统一编码格式。
有两种方式统一编码。
一种是通过notepad++,把一种格式转换成另一种格式,比如转成ANSI编码。(用notepad++打开m文件是能够自动识别文件编码的)
这时候再用matlab 2016b打开,中文就能正常显示。
由于上面这种方式对于大量m文件来说并不实用。
所以,答主找到另一种方式,修改matlab 2016b默认编码格式,将其改成utf8格式。
先进入C:\Program Files\MATLAB\R2016b\bin
复制 lcdata_utf8.xml 文件到桌面,更名为lcdata.xml。并用notepad++打开
将
<encoding name="UTF-8">
<encoding_alias name="utf8"/>
</encoding>
改为
<encoding name="UTF-8">
<encoding_alias name="utf8"/>
<encoding_alias name="GBK"/>
</encoding>
并删除
<encoding name="GB18030"/>
<encoding name=”GBK”>
<encoding_alias name=”936”>
</encoding>
保存文件,并将lcdata.xml复制,粘贴到C:\Program Files\MATLAB\R2016b\bin,是否覆盖,选择是。
打开matlab 2016b,检查中文是否正常显示。
若不正常显示,选择主页—预设
选择字体,修改桌面代码字体—宋体,桌面文本字体—宋体
选择字体—自定义—编辑器,选择桌面代码字体。
点击确定 ,重启matlab 2016b,中文显示正常。
如果懒得修改代码,可以直接下载答主改好的文件,直接覆盖粘贴。