matlab默认编码模式查看与修改

本文最后更新于 2024年3月19日。

我的中文乱码是在系统使用英文开始的,网上的修改方法无效,下面是我探索出来的方法。

怎么查看matlab默认编码模式

>> feature('DefaultCharacterSet')

ans =

    'windows-1252'

>> feature('locale')

ans = 

  struct with fields:

               ctype: 'en_US.windows-1252'
             collate: 'en_US.windows-1252'
                time: 'en_US.windows-1252'
             numeric: 'en_US_POSIX.windows-1252'
            monetary: 'en_US.windows-1252'
            messages: 'en_US.windows-1252'
            encoding: 'windows-1252'
    terminalEncoding: 'GBK'
         jvmEncoding: 'Cp1252'
              status: 'MathWorks locale management system initialized.'
             warning: 'System locale setting, zh_CN, is different from user locale setting, en_US.'

怎么修改成utf-8

进入matlab安装路径,打开lcdata.xml文件

注:在r2017之后的版本需要修改==lcdata_utf8.xml==文件对应的内容

把下面的内容删除

        <encoding name="windows-1252" jvm_encoding="Cp1252">
            <encoding_alias name="1252"/>
        </encoding>

再查看就变成了utf-8

>> feature('locale')

ans = 

  struct with fields:

               ctype: 'en_US.UTF-8'
             collate: 'en_US.UTF-8'
                time: 'en_US.UTF-8'
             numeric: 'en_US_POSIX.UTF-8'
            monetary: 'en_US.UTF-8'
            messages: 'en_US.UTF-8'
            encoding: 'UTF-8'
    terminalEncoding: 'GBK'
         jvmEncoding: 'UTF-8'
              status: 'MathWorks locale management system initialized.'
             warning: 'System locale setting, zh_CN, is different from user locale setting, en_US.'

现在编码模式改成utf-8了,只需要把文件另存为utf-8模式就可以正常打开,中文无乱码。