matlab2012b能中文显示么,MATLAB2017b中文注释显示乱码问题(win10 x64 en)

今天本来打算写个用MATLAB批量修改文件夹里面的文件名字的小tip,但是一打开以前写过的程序,突然发现里面的中文注释显示不对了,大概是下图这种样子:

ade2fa38b32a

中文注释乱码

这让有点小强迫症的我受不了,然后就想着改正它,开始想着以为是编辑器的编码格式不对,于是把之前的m文件用txt开了一下然后改了一下编码格式,另存了一下,发现并没有卵用,然后就上网搜了一下,发现各种方法都有。但是基本都是一样,没卵用!最后在自己的摸索下终于把问题解决了。(觉得太长不想看的请直接看最后的总结)

1. 靠谱一点的是这样的:

先在命令窗口执行命令:

ade2fa38b32a

执行feature命令

然后发现是系统的locale设置和user的不一致,也就是你系统的都是英文的但是你这个文件里面有中文的编码,所以显示就不对了。我执行的结果也是这样的。

然后该教程(参考1)的后面就是教你怎么去设置相关的参数,然后最后解决问题,可是我都按照他的来了,却不行。

2.还有这种玄学的

反正我就是不知道什么原因,照我这么做一遍就对了(参考2)

最后总结一句话:matlab中文乱码,请先在记事本里输入中文,然后复制到matlab里,只需要第一次这样做了,以后你就可以在任意m文件的任意一行输入中文注释了。不要问我为什么,因为我也不知道。。

然并卵。。。

3. 接近答案的方法

还有一种就是给我提供了解决问题思路的,很接近答案的方法(参考3)。

在经过多次查找方法未果之后,终于发现了MATLAB读取区域设置只是跟系统区域中的“格式(Format)”设置有关:

当格式设置成英文的时候,MATLAB便会读取相应的区域。所以解决方法便是在格式中选择"Chinese (Simplified, China)",所有乱码便解决了。

这个确实是对的,只不过只这么做的话还不够,还要另外设置一个选项:

将Administrative选项的Language for non-Unicode programs 设置成简体中文就ok了

ade2fa38b32a

设置额外的编码语言

ade2fa38b32a

Beta选项不要勾

接下来我按照参考1的方法在此检验了一下自己MATLAB的locale值显示如下,警告那一栏就已经没了。然后点开有中文注释的程序,显示正常了。

>> feature('locale')

ans =

包含以下字段的 struct:

ctype: 'zh_CN.GBK'

collate: 'zh_CN.GBK'

time: 'zh_CN.GBK'

numeric: 'en_US_POSIX.GBK'

monetary: 'zh_CN.GBK'

messages: 'zh_CN.GBK'

encoding: 'GBK'

terminalEncoding: 'GBK'

jvmEncoding: 'GBK'

status: 'MathWorks locale management system initialized.'

warning: ''

ade2fa38b32a

显示正常后的中文注释

总结

遇上英文版的64位的win10系统下装的英文版MATLAB编辑器中中文注释显示不对的情况,可以先用feature('locale')命令检验一下是否是自己系统的locale settling和软件的user settling不一致导致的。是的话就需要修改参数。

将自己电脑系统的时区格式设置成中文的格式,另外在Administrative选项下的Language for non-Unicode programs选项中修改系统的locale值为简体中文,注意不要勾选beta选项,不然会导致一些其他的带中文显示的程序出现异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值