Greek character in script turned to a square or a question mark - any ideas why?
Show older comments
I copied a script from an older computer with Matlab 2012b to a new computer with Matlab 2017a and when I opened it, a Greek character 'μ' was encoded as a little square (maybe missing font). After Installing the Greek language option in MS Windows and typing in its place the letter μ, running the script reported an error (wrong matrix dimensions). So I reloaded the saved script and the character μ had now been replaced by a questionmark. Does anyone know what is going on? I have not witnessed this before. The faulty character encoding may have nothing to do with Matlab itself.
Answers (3)
Nick Aggelopoulos
on 4 Aug 2020
Edited: Nick Aggelopoulos
on 4 Aug 2020
0 votes
Walter Roberson
on 4 Aug 2020
Edited: Walter Roberson
on 4 Aug 2020
0 votes
R2020a is the first release that handles UTF8 encoding in a way that is natural to the user.
In releases before that, you had to use hacks and obscure calls to tell MATLAB that you were going to use non-ASCII. And on your new computer, you have not used those obscure settings.
My recommendation would be to upgrade to R2020a.
4 Comments
Rik
on 4 Aug 2020
I second this recommendation. As a fix you can implicitly use the mu character:
while infoHeadr (pe) ~=char(956)% 956 is lowercase mu
Nick Aggelopoulos
on 7 Aug 2020
Walter Roberson
on 7 Aug 2020
while infoHeadr (pe) ~='μ'
pe=pe+1;
That code runs off the end of array if the character is never found.
Unrecognized utf8 for μ would be interpreted as a pair of bytes, at least one of which was non-printable. That would then be comparing two different characters to each array entry, which is guaranteed to fail because no one value can be equal to two different things. If you use a good programming editor you can ask to see all the bytes rendered to see what is stored there. https://superuser.com/questions/558781/show-hexadecimal-ascii-codes-on-notepad-6-3
Nick Aggelopoulos
on 10 Aug 2020
Edited: Walter Roberson
on 10 Aug 2020
Categories
Find more on Labels and Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!