在Linux系统中安装了Matalb之后,打开.m文件,发现注释的中文部分全是乱码,进行以下操作。
注意:有些情况是可以先只操作7-10步,如果不能正常显示,请完全从第一步开始。
1.在浏览器中下载simsun.ttf字体,解压后里面包含了.ttc和.ttf(我这里用的.ttf),下载解压后的内容如下图。
2.打开进入Matalb中字体所在的fonts目录,我的路径为: /usr/local/MATLAB/Ra/sys/java/jre/glnxa64/jre/lib/fonts/
在fonts目录下新建文件夹fallback(可能会存在没有权限的问题,此时查找如何获得权限)
mkdir fallback
将开始下载的simsun.ttf文件复制到fallback文件夹下,
cp /usr/share/fonts/chinese/simsun.ttf fallback/
3.在fallback文件夹下输入mkfontscale命令,生成一个fonts.scale文件
4.将生成的该文件添加到fonts.dir中,此时终端目录应该退回到fallback的上一级目录,我这里是/usr/local/MATLAB/Ra/sys/java/jre/glnxa64/jre/lib/fonts/
注意:fonts.dir不能进行编辑时,先输入命令sudo chmod 777 ./fonts.dir,
再输入添加内容的命令:
cat fallback/fonts.scale >> fonts.dir
设置完毕,接下来设置Matlab。
5.打开Matlab,主页(File)>>预设(Preferences)>>字体(Fonts),进行设置,如下图:
分别设置桌面代码字体和桌面文本字体为宋体,点击确定。
6.此时重启MATLAB发现中文字体不显示,是因为windows下的.m文件采用的是gb2312编码,而ubuntu下matlab采用utf-8编码。只要将所有的m文件转成utf8文件。我们利用enca工具进行转换。
7.打开终端,首先安装编码转换工具 enca:指令为sudo apt-get install enca
8.进入.m文件的文件夹中,比如我的.m文件在下面的目录下:
9.输入下面的指令 ,完成操作。
enca -L zh_CN -x UTF-8 *
10.重启MATLAB,可以看到能完整的显示出中文。