如何解决Matlab的中文乱码?

导语:在使用Matlab时虽然不能用中文来进行编程但却可以使用中文进行注释尽管不推荐这样做但如果以前编写的或别人编写的代码注释中包含很多中文而自己的电脑又恰恰是英文的Windows系统那么将很可能会出现如下乱码的情况这会给对代码的理解带来很多麻烦甚至困难

在使用Matlab时,虽然不能用中文来进行编程,但却可以使用中文进行注释,尽管不推荐这样做(某些场合英文更易于传播),但如果以前编写的或别人编写的代码注释中包含很多中文,而自己的电脑又恰恰是英文的Windows系统,那么将很可能会出现如下乱码的情况,这会给对代码的理解带来很多麻烦甚至困难。

通过以下一系列设定,并测试了Windows 10系统下的2016b版Matlab,解决了这一问题,由于该问题具有一定的普遍性,所以针对其它Windows系统及不同的Matlab版本应该也同样适用。


为了解决Matlab中的中文显示乱码的问题,一种简单的方法是修改Windows系统的时间显示格式。方法是:


在开始菜单点击设置(Settings)图标。

选择时间与语言(Time & language)。

选择右下角的其他日期、时间和地区设置(Additional date, time & regional settings)。

选择改变位置(Change location)。

将格式(Formats)修改为中文简体(Chinese (Simplified, China)),并点击“应用(Apply)”。

如果完成上述步骤,在很多情况下,尤其是对于个人电脑,在重启Matlab软件之后就会发现,中文已经可以正常显示了。

但是,如果用的是办公电脑或公用电脑,个人往往并不拥有对电脑完全控制权限,在Matlab界面下改变文件夹的名字可能都会被限制。如果用管理员模式打开Matlab,可以发现,对中文显示依然是乱码的状态。

在这种情况下就需要修改Matlab自身的配置文件。


在Matlab的命令框中输入 feature('locale') ,可以查看查看默认locale代号,我这里显示是“en_US.windows-1252”,不同的电脑或系统会有不同,但可以确定的是,这个编码格式不支持中文显示,我们要做到就是修改成支持中文的编码格式。

进入Matlab的安装路径,例如,我这里是默认安装路径:C:\Program Files\MATLAB\R2016b\bin


如果Matlab安装在D盘或其它盘,或者版本不同,请按照实际路径找到一个名为lcdata.xml的文件。


这里要注意的是:请直接在Matlab中打开该文件,并在修改前复制一个该文件进行备份,以防改错造成严重问题!

修改的方法是:点击“查找(Find)”或“Ctrl+F”


在Find what中输入:


locale name="en_US" encoding="ISO-8859-1" xpg_name="en_US.ISO8859-1"


在Replace with 中输入:


locale name="en_US" encoding="GB2312" xpg_name="GB2312"

点击“替换(Replace)”

接着在“查找内容(Find what)”中输入:


encoding name="windows-1252" jvm_encoding="Cp1252"


再在“替换为(Replace with)” 中输入:


encoding name="GB2312" jvm_encoding="Cp1252"

点击“替换(Replace)”

替换完后不要直接点击保存或者“Ctrl+S”保存,这样可能会因为权限不够而被拒绝修改。


只需要点击刚刚打开的乱码文件窗口标签即可完成lcdata.xml文件的默认保存。

如果再以管理员模式重启Matlab,就会发现中文已经可以正常显示了。

如果此时再在Matlab的命令框中输入 feature('locale'),可以发现编码格式已经成功修改为GB2312,这是一种支持中文显示的编码格式。


本文转自微信公众号科研狗  作者:李健辉

本文为授权转载文章,已标明作者和出处,文章内容仅代表作者观点。如需转载,请与作者或授权媒体联系。如对文章内容有疑议,请联系editor@xingongye.cn。

暂无评论,等你抢沙发

  • 短信登录
  • 密码登录
还没有账号,
登录即代表您同意本网站的 《用户注册协议》
还没有账号,
登录即代表您同意本网站的 《用户注册协议》
注册
已有账号, 立即登录
登录即代表您同意本网站的 《用户注册协议》
找回密码