MATLAB Answers


Displaying (in the prompt) latin characters, such as á, é, í, ó, ú, and ñ, using MATLAB R2010b/R2011a for mac

Asked by Ricardo Prada on 26 Apr 2011
Latest activity Commented on by Ricardo Prada on 2 Mar 2017

Hi MATLAB community.

How can we display (in the prompt) latin characters, such as á, é, í, ó, ú, and ñ, using MATLAB R2010b/R2011a for mac (last iteration of Snow Leopard, 10.6.7)?

For example, when trying to run this script on MATLAB for mac

fprintf('Química, Matemáticas, Español.\n')

the prompt throws me

Qu?mica, Matem?ticas, Espa?ol.

which does not contain any of the latin characters I entered on my script, but those question marks as a replacement.

Any help will be greatly appreciated. Thank you.

P.S. 1: I am using an Apple Western Spanish keyboard to enter those latin characters.

P.S. 2: By prompt I am referring to the MATLAB Command Window.


Show 1 older comment

The success of using char(x) depends upon your locale, and upon your MATLAB version, and your font, and your feature('DefaultCharacterSet')

Unfortunately I am not able to test this in Snow Leopard itself. I have virtual machine software that I tried with, but I hit the limitation that Apple's EULA did not permit Snow Leopard itself to be installed as a virtual machine (it did permit Snow Leopard Server to be installed in a virtual machine.) I think we got rid of the last of our Snow Leopard compatible machines here.

The earliest OS-X I could potentially test with is Lion, the release after Snow Leopard... but if I still have Lion install disks around then then are in some closet or other. Mavericks is the earliest I could definitely try with.

Thanks Fernando and Walter for your reply.

It looks like the bug was fixed some time ago. I am running MATLAB R2016b, and now those characters display correctly on the Command Window.

Log in to comment.

3 Answers

Answer by Andrew Newell
on 28 Apr 2011
 Accepted Answer

Maybe I have been missing the embarrassingly obvious:

disp('Química, Matemáticas, Español.')


By changing only the locale (from "Colombia (English)" to "United States") there was no effect; so I decided to delete some preferences, and boom!, as simple as that, worked!

I wonder if perhaps it was stuck on a particular output font...

Hi Walter, at this point, I think it is tough to know. But most likely you are right.

Log in to comment.

Answer by Andrew Newell
on 26 Apr 2011

You could try changing the locale.

EDIT: I found a better solution:

fprintf(native2unicode('Química, Matemáticas, Español.','latin1'))

The output is:

Química, Matemáticas, Español.>>

I looked at this command earlier but didn't use it in the right way. You said you wanted a prompt, so I took out the \n.


I though the same... most likely the 2007 Apple Western Spanish Keyboard is the problem. In such a case, I will try contacting the MATLAB Support so they may give me some workaround to solve my problem. Again, thank you very much for your kind of help.

Note: when you see a 26 in the output of unicode2native, that indicates a character which could not be translated to the target character set.

Log in to comment.

Answer by Anandakumar Selvaraj on 27 Feb 2014

Try this in your code

 feature('DefaultCharacterSet', 'UTF8') %# for all Character support

or try 'Windows-1250' insted UTF8

'Windows-1250' for Central European languages that use Latin script, (Polish, Czech, Slovak, Hungarian, Slovene, Serbian, Croatian, Romanian and Albanian)

Note:- that UTF-8 can be used for all languages and is the recommended charset on the Internet.


Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today