Post

[转]linux中matlab的中文乱码问题

将系统的jre拷贝到matlab去 。

1
2
sudo mv $MATLAB/sys/java/jre/glnx86/jre $MATLAB/sys/java/jre/glnx86/jre.default
sudo cp -R /usr/lib/jvm/java-6-sun-1.6.0.13/jre $MATLAB/sys/java/jre/glnx86

或者采取以下方法

出自gosman的博客(https://gosman.blogbus.com)

由于Linux下Matlab的图形界面是用Java写的,所以只要搞定Java的中文显示就行了。

1、我Matlab2007a的JRE目录为:/opt/matlab/sys/java/jre/glnx86/jre1.5.0 请根据自己的安装目录和版本确定JRE的目录;

2、 $ cd /opt/matlab/sys/java/jre/glnx86/jre1.5.0/lib/fonts/

3、建立目录fallback: $ mkdir fallback;

4、把字体复制或链接到fallback目录:

1
$ cp /media/disk/WINDOWS/Fonts/simsun.ttc fallback/ 我用的是Windows XP的simsun字体,你也可以用别的支持中文的字体;

5、进入fallback目录,执行 mkfontscale 命令;

6、将上一步生成的文件添加到 lib/fonts/fonts.dir文件中,可用以下命令完成,当然也可以用编辑器复制粘贴:

1
$ cat fallback/fonts.scale >> fonts.dir (注意fonts.dir应该设为可写)

7、至此Matlab的Java环境中文支持安装完了,接下来配置Matlab;

8、进入Matlab,选择 菜单 File»Preferences»Fonts 选择SimSun字体就行了;

9、如果没有相应的(我的是SimSun)字体,请把fallback下的字体加上可读属性:$ chmod a+r fallback/*

10、至此Matlab应该可以正常显示中文了。

有时运行matlab后,只有一个外框能正确显示,其它的都是一片白。同时转载过来见到的解决办法

办法1:在matlab安装目录下的bin/matlab文件中(一堆注释后面)添加:

1
export AWT_TOOLKIT=MToolkit

该方法可以解决显示问题,但会经常出现无法输入的问题。比如调用plot函数后,command窗口就

无法输入新字符了,只能通过依次点击Current Directory 和 Workspace解决。。依次点击后就可以

继续输入字符了。

方法2:安装sun-java6-jre。具体方法为

1
sudo apt-get install sun-java6-jre

然后在matlab安装目录下的bin/matlab文件中(一堆注释后面)添加:

1
export MATLAB_JAVA=/usr/lib/jvm/java-6-sun/jre/

注意,不需要添加export AWT_TOOLKIT=MToolkit了,这样修改以后就没有输入的问题。

网上又看到了个懒人的方法,没试过,贴在下面

1
2
3
4
5
6
cd /usr/local/MATLAB/R2010b/sys/java/jre/glnx86/jre/lib/fonts/
mkdir fallback
cd fallback
ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc ./wqy-zenhei.ttc
mkfontdir
mkfontscale
This post is licensed under CC BY 4.0 by the author.