美文网首页
MATLAB2017b中文注释显示乱码问题(win10 x64

MATLAB2017b中文注释显示乱码问题(win10 x64

作者: yetwanng | 来源:发表于2018-07-08 23:58 被阅读57次

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


    中文注释乱码

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

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

    先在命令窗口执行命令:

    执行feature命令
    然后发现是系统的locale设置和user的不一致,也就是你系统的都是英文的但是你这个文件里面有中文的编码,所以显示就不对了。我执行的结果也是这样的。
    然后该教程(参考1)的后面就是教你怎么去设置相关的参数,然后最后解决问题,可是我都按照他的来了,却不行。

    2.还有这种玄学的

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

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

    然并卵。。。

    3. 接近答案的方法

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

    在经过多次查找方法未果之后,终于发现了MATLAB读取区域设置只是跟系统区域中的“格式(Format)”设置有关:
    当格式设置成英文的时候,MATLAB便会读取相应的区域。所以解决方法便是在格式中选择"Chinese (Simplified, China)",所有乱码便解决了。

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

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

    设置额外的编码语言
    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: ''
    
    显示正常后的中文注释

    总结

    1. 遇上英文版的64位的win10系统下装的英文版MATLAB编辑器中中文注释显示不对的情况,可以先用feature('locale')命令检验一下是否是自己系统的locale settling和软件的user settling不一致导致的。是的话就需要修改参数。
    2. 将自己电脑系统的时区格式设置成中文的格式,另外在Administrative选项下的Language for non-Unicode programs选项中修改系统的locale值为简体中文,注意不要勾选beta选项,不然会导致一些其他的带中文显示的程序出现异常。

    相关文章

      网友评论

          本文标题:MATLAB2017b中文注释显示乱码问题(win10 x64

          本文链接:https://www.haomeiwen.com/subject/oumauftx.html