我的问题的主旨是这样的:
如何在Matlab的GUI(OS X)中显示Unicode字符,以便正确呈现它们?
细节:
我有一个存储在文件中的字符串表,其中一些字符串包含UTF-8编码的Unicode字符.我已尝试了许多不同的方法(这里列出太多)以在MATLAB GUI中显示该文件的内容,但没有成功.例如:
>> fid = fopen('/Users/kj/mytable.txt', 'r', 'n', 'UTF-8');
>> [x, x, x, enc] = fopen(fid); enc
enc =
UTF-8
>> tbl = textscan(fid, '%s', 35, 'delimiter', ',');
>> tbl{1}{1}
ans =
ÎÎÎÎÎΠΣΦΩαβγδεζηθικλμνξÏÏÏÏÏÏÏÏÏÏ
>>
Run Code Online (Sandbox Code Playgroud)
碰巧的是,如果我将字符串直接粘贴到MATLAB GUI中,粘贴的字符串会正确显示,这表明GUI基本上不能显示这些字符,但是一旦MATLAB读入它,它就会更长时间地显示它.例如:
>> pasted = '?????????????????????????????????'
pasted =
>>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用包含Matlab绘制的数字到LaTeX中.我通常的工作流程如下:
重点:当我尝试在轴标签,图例,标题等非ASCII字符中使用时(确切地说:波兰国家字符,例如''',''',''','ć')编码在Matlab图编辑器很好,字符显示正常.在输出到.eps后,它们都是错的(例如:"Głębokość"变成"G³êbokoœæ").
是否存在通过调整Matlab选项或更改工作流程来正确执行此操作的方法?
注:我发现,出口png格式或其他非矢量格式正确处理字符编码,但我想避免这样做是 -我要求的方式,以"保持载体".直接导出到.pdf会产生与.eps相同的效果,例如它会产生错误的结果.
PS.Matlab是R2008a,.latex文件是用pdflatex编译的,带有来自MikTeX 2.9的epstopdf的.eps文件(全部在Win7下).