Skip to content

英文操作系统中MATLAB中文乱码的解决方法

英文操作环境下MATLAB编辑器里的中文会显示成乱码

Reason

按照网上的教程更改系统环境配置

Control Panel,Region,Administrative,Language for non-Unicode Option Set as Chinese(Simplified,China)

Control Panel,Region,Formats,Format Option Set as Chinese(Simplified,China).
这样设置后系统格式变成中文,matlab显示语言也变成中文,但是在plot画图时,还是会显示乱码。

主要的原因在于字符集不匹配。

Method

找到MATLAB目录下lcdata.xml文件,当该文件为空时,MATLAB自动调用系统默认字符集。因此,复制MATLAB目录下lcdata_utf8.xml,并重命名为lcdata.xml。将其中的内容用以下代替

<?xml version="1.0" encoding="UTF-8" ?>
<!-- MathWorks Locale Database -->
<!-- File Name: lcdata_utf8.xml -->
<!-- Copyright 2007-2016 The MathWorks, Inc. -->
<lcdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="lcdata.xsd">
    <!-- Codeset entry -->
    <codeset>
        <encoding name="UTF-8">
            <encoding_alias name="utf8"/>
            <encoding_alias name="EUC-CN"/>
            <encoding_alias name="euccn"/>
            <encoding_alias name="1252"/>
            <encoding_alias name="ISO8859-15"/>
            <encoding_alias name="ISO885915"/>
            <encoding_alias name="ISO8859-14"/>
            <encoding_alias name="ISO885914"/>
            <encoding_alias name="ISO8859-1"/>
            <encoding_alias name="ISO88591"/>
            <encoding_alias name="936"/>
        </encoding>

    </codeset>
    <!-- Locale entries -->

    <locale name="en_US" encoding="UTF-8" xpg_name="en_US.UTF-8">
        <alias name="en"/>
    </locale>
    <locale name="zh_CN" encoding="UTF-8" xpg_name="zh_CN.UTF-8">
        <alias name="zh-Hans"/>
        <alias name="zh-Hans-CN"/>
    </locale>

</lcdata>