Change MATLAB character set encoding

87 visualizaciones (últimos 30 días)
Carats
Carats el 30 de Oct. de 2019
Respondida: MathWorks Support Team el 19 de Feb. de 2021
Hello! Please help with the problem. I must process the text files created by the command line. Command line creates the file in the character set IBM866. I think Matlab understands Cyrillic in cp1251. Is it possible to somehow convert the information read from the files to cp1251 or to make the program work with the encoding IBM866?
slCharacterEncoding ('IBM866') does not help. It only changes the encoding in the console. For example, if I use the contains(stroka_iz_faila_v_ibm866,'russiantext') in my program, it does not find Russian letters in the string. But if I stop the execution of the program and write it in the console contains(stroka_iz_faila_v_ibm866, 'russiantext'), it will find the text in the string (provided I use slCharacterEncoding ('IBM866')).
Similarly, the strfind () function does not work.

Respuestas (3)

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 30 de Oct. de 2019
Hi,
Maybe this one helps with your problem: feature('DefaultCharacterSet','UTF-8');
Good luck

Carats
Carats el 31 de Oct. de 2019
feature('DefaultCharacterSet','UTF-8') = slCharacterEncoding ('IBM866')
so its cant help me
its help but only if use commands in console

MathWorks Support Team
MathWorks Support Team el 19 de Feb. de 2021
Specify encoding as the fourth input argument to fopen.
For example:
fopen(filename, 'r', 'n', 'IBM866')

Categorías

Más información sobre Workspace Variables and MAT-Files en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by