# fprintf or fwrite non ASCII characters

21 次查看（过去 30 天）
Hi everyone,
I am trying to write some strings on a text but some of them contain σ and μ and they are not written correctly in my file when I use either fprintf or fwrite. I tried also to open my file (fopen) with different encondings but nothing changed. Below you find my most significant attempts:
SheetName = 'example';
text_file = fopen(strcat(SheetName, '.txt'), 'w+','n','windows-1253');
fprintf(text_file,'%c', 'σ'); % prints ?
fprintf(text_file,'%s', char(963)); % prints ó
fprintf(text_file, '\x03c3'); % prints ó
fwrite(text_file, 'σ'); % prints ?
fwrite(text_file, char(963)); % prints ÿ
If I don't put the encoding 'windows-1253' I get even worse results: second and third line print a small square.
I have also read that it could depend on my OS but honestly I don't get why. Anyway, I have Windows 10 Pro.
Could you help me out with this? Thanks in advance!
##### 6 个评论显示隐藏 5更早的评论
I have Windows 10 Pro. I tried your fopen options and I got this:

### 回答（1 个）

Have you tried using TeX formatting? I.e. \alpha \sigma \mu
https://uk.mathworks.com/help/matlab/creating_plots/greek-letters-and-special-characters-in-graph-text.html
##### 3 个评论显示隐藏 2更早的评论
It works only on the command window but I need to write it in a text.

R2019b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by