Arabic document
显示 更早的评论
Hello Everyone. Please, I want to know if you can read Arabic document in matlab. Arabic is install on my computer, and when I try to read the file it gives me: {'المملكة' 'المغربية'} is that you have an idea please??
采纳的回答
更多回答(6 个)
Walter Roberson
2011-4-28
If I am correct about the file having been double-encoded, then:
fid = fopen('arabe.txt','r');
inputtext = char(native2unicode(fread(fid)));
fclose(fid)
21 个评论
najmaf najma
2011-4-28
Walter Roberson
2011-4-29
Then I need more of the file to go on. You can find my email address on my user profile by clicking on my name.
najmaf najma
2011-4-30
Walter Roberson
2011-4-30
Received. I'm looking at it now.
Walter Roberson
2011-4-30
fid = fopen('arabe.txt','r');
inputtext = native2unicode(fread(fid,'*uint8'),'UTF-16') .';
fclose(fid);
The text can then be seen by looking at inputtext
Note: you must be using a font that supports Arabic, such as Ariel Regular
Note: if applicable, your terminal must be set to decode UTF-8 . For example my terminal was set to interpret ISO-LATIN-1 by default and the characters did not come out right.
With the system I am using at the moment, the terminal automatically detected that the characters were Arabic and wrote them right to left.
I do not have a Windows system with MATLAB to test this out on; I am using a Linux-64 Matlab displaying to MAC OS-X.
najmaf najma
2011-5-1
Walter Roberson
2011-5-1
I looked at the image you sent. I cannot tell from that image which font you have used.
najmaf najma
2011-5-2
najmaf najma
2011-5-3
Walter Roberson
2011-5-3
Please send a copy of the file with the changed encoding.
I do not have MATLAB for Windows, so I am not able to check using the same setup you are using.
najmaf najma
2011-5-3
Walter Roberson
2011-5-3
The command you used, slCharacterEncoding, is for Simulink; without simulink, the technique is to exit MATLAB, change the encoding, and re-start MATLAB.
http://www.mathworks.com/support/solutions/en/data/1-4TKQUB/index.html?solution=1-4TKQUB
Which locale are you normally in?
najmaf najma
2011-5-5
Walter Roberson
2011-5-5
http://www.mathworks.com/help/techdoc/matlab_env/brj_w4w-2.html
najmaf najma
2011-5-5
Walter Roberson
2011-5-5
Please start a new Question for that topic.
Also, I think people would appreciate if you could post the solution you came up with for this one.
najmaf najma
2011-5-6
Walter Roberson
2011-5-6
Which variable did you end up having to change, and what did you change it from and what did you change it to?
najmaf najma
2011-5-6
Walter Roberson
2011-5-6
It appears that najmaf changed the Windows Regional Language settings.
najmaf najma
2011-5-7
najmaf najma
2011-4-28
0 个投票
1 个评论
Walter Roberson
2011-4-28
I needed you to use
fid = fopen('arabe.txt','r');
dec2hex(0 + fread(fid, 32, '*uint8'));
fclose(fid);
You used 'rt' instead. I don't know if that makes a difference.
najmaf najma
2011-4-28
0 个投票
2 个评论
Walter Roberson
2011-4-28
Yes, and I need to see _what_ those hexadecimal values are.
Wait -- is the first character of the file 0x0627, 'alif ? If so, then the file appears to be a UTF-8 encoding of a UTF-16 byte stream. The file appears to have been encoded twice!
najmaf najma
2011-4-28
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!