欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

英文版Windows 10中MATLAB中文字符乱码的问题(转载)

程序员文章站 2022-07-12 19:18:17
...

通用解决方法(有部分缺点)

由于一直用惯了英文系统,可是在使用MATLAB的时候,由于之前留下来的代码有大量的中文字符,而这些字符在英文系统中却一直显示成乱码。

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

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

英文版Windows 10中MATLAB中文字符乱码的问题(转载)

 

英文版Windows 10中MATLAB中文字符乱码的问题(转载)

解决前

 

英文版Windows 10中MATLAB中文字符乱码的问题(转载)

解决后

 

完美方法(R2015、R2016)

2015年11月2日 更新

但是这样做有一个问题就是时间之类的格式变成了中文的,今天经过探索之后,参考http://blog.csdn.net/xanxus46/article/details/24290769的文章依然无法解决问题,外加一步,从而完美解决了问题,具体步骤为:

1. 在MATLAB输入feature('locale'),查看默认locale代号,如en_US;

2. 就进入matlab的目录找到 bin下lcdata.xml这个文件,用任意编辑器打开;

3. 查找en_US,将本来的

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

修改成

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

4. 查找

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

将它修改成

encoding name="GB2312" jvm_encoding="Cp1252"

重启MATLAB,大功告成!

 

完美方法(R2017后)

在更新R2017之后,/bin/文件夹下面的lcdata.xml文件变为空文件了,这时候我们需要在<lcdata></lcdata>之间加入部分语句,使得MATLAB能正常显示中文:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- MathWorks Locale Database -->
<!-- File Name: lcdata.xml -->
<!-- Copyright 2007-2016 The MathWorks, Inc. -->
<lcdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="lcdata.xsd">
<!-- Note: -->
<!-- This locale database is used to customize the MathWorks locale database. -->

<!-- Codeset entry example -->
<!--    <codeset> -->
<!--        <encoding name="StandardEncodingName" jvm_encoding="JavaEncodingName"> -->
<!--            <encoding_alias name="AliasName"/> -->
<!--        </encoding> -->
<!--    </codeset> -->

<!-- Locale entries example -->
<!--    <locale name="StandardLocaleName" encoding="EncodingName" xpg_name="XpgLocaleName"> -->
<!--        <alias name="AliasName"/> -->
<!--    "region_alias" is only for Mac -->
<!--        <region_alias name="RegionAliasName"/> -->
<!--    </locale> -->
    <codeset> <encoding name="windows-1252" jvm_encoding="GB2312">
        <encoding_alias name="1252"/>
    </encoding></codeset>
</lcdata>

修改后重启MATLAB。

感谢原文作者:https://blog.csdn.net/decat2008/article/details/49583851

相关标签: matlab