当前位置:网站首页>MATLAB打开.m文件乱码解决办法
MATLAB打开.m文件乱码解决办法
2022-07-06 09:21:00 【zhugby】
Matlab打开.m文件出现中文乱码问题,是因为Matlab存在两种编码格式:GBK和UTF-8,而不同版本的Matlab编码格式可能不统一,因此在不同版本的Matlab打开文件,由于编码格式的改变,会导致注释乱码。
1.查看你的Matlab的文件编码方式,在Matlab的命令行窗口输入feature('locale') ,如下图,可以看到默认编码为GBK,那问题就变成了将Matlab的文件编码方式GBK修改成UTF-8;
2.找到你的Matlab安装目录bin文件夹下的lcdata_utf8.xml文件,用记事本打开另存为lcdata.xml文件。这里发现lcdata.xml已存在,不进行替换,修改一下原lcdata.xml的名字后再将lcdata_utf8.xml文件另存为lcdata.xml文件。
3.记事本打开lcdata.xml文件,ctrl+f查找<encoding name="GBK">,找到这一部分;
将 这一小段代码删除
4.查找<encoding name="UTF-8">,找到这一部分;
添加语句 <encoding_alias name="GBK"/>如下所示
5.保存文件,关闭Matlab再重新打开,编码正确了!
同样的如果UTF-8编码的Matlab打开中文乱码,只需要将UTF-8转成GBK编码格式就可以啦,同样的思路也就是将<encoding name="UTF-8">部分的代码删除,在<encoding name="GBK">那一部分添加<encoding_alias name="utf8"/>就好了。
——————————————————————————————————————————
前面使用的这种方法可以解决中文乱码的错误,但是后来发现在命令行窗口的中文字符可能会乱码,上面的方法改变了jvmEncoding=utf8但是其他编码还是GBK,这种不一致可能会带来很多冲突,所以以上方法要慎用,不是很推荐。个人踩完雷之后,于是乎,又总结了另外两种方法。
第二种简单粗暴的方法,在已经确保MATLAB编码为GBK但是.M文件编码为UTF8之后,用计算机自带的记事本打开该M文件,选择“另存为”,修改编码方式为“ANSI”,保存文件后重新用IDE打开.M文件即可。这种不适用大批量多个文件,一个一个打开很费劲,而且可能还会存在遗漏。
第三种办法,如果你有notepad++的话,就更方便啦!建议写代码的朋友人手备一个,慢慢你会发现离不开他。
1)首先,菜单栏选择文件>打开文件夹作为工作区,把你代码所在的整个文件夹全放进去。
2)选中.m文件,菜单栏查看该.M文件的编码,若为UTF-8编码或其他不能正常显示的编码方式,两种选择,编码>转成ANSI编码或编码>编码字符集>中文>GB2312(简体中文),检查一遍文件夹中所有文件编码格式,转化保存。
3)matlab打开,所有文件的中文字符均显示正常且命令行窗口中文显示也正常。
边栏推荐
- 学编程的八大电脑操作,总有一款你不会
- hashCode()与equals()之间的关系
- Service ability of Hongmeng harmonyos learning notes to realize cross end communication
- MySQL lock summary (comprehensive and concise + graphic explanation)
- 【手撕代码】单例模式及生产者/消费者模式
- Voir ui plus version 1.3.1 pour améliorer l'expérience Typescript
- 抽象类和接口的区别
- 20220211-CTF-MISC-006-pure_ Color (use of stegsolve tool) -007 Aesop_ Secret (AES decryption)
- JS interview questions (I)
- Questions and answers of "Fundamentals of RF circuits" in the first semester of the 22nd academic year of Xi'an University of Electronic Science and technology
猜你喜欢
There is always one of the eight computer operations that you can't learn programming
(ultra detailed onenet TCP protocol access) arduino+esp8266-01s access to the Internet of things platform, upload real-time data collection /tcp transparent transmission (and how to obtain and write L
关于双亲委派机制和类加载的过程
魏牌:产品叫好声一片,但为何销量还是受挫
Write a program to simulate the traffic lights in real life.
3.猜数字游戏
3.C语言用代数余子式计算行列式
Questions and answers of "Fundamentals of RF circuits" in the first semester of the 22nd academic year of Xi'an University of Electronic Science and technology
仿牛客技术博客项目常见问题及解答(二)
[hand tearing code] single case mode and producer / consumer mode
随机推荐
重载和重写的区别
String abc = new String(“abc“),到底创建了几个对象
The overseas sales of Xiaomi mobile phones are nearly 140million, which may explain why Xiaomi ov doesn't need Hongmeng
Set container
Detailed explanation of redis' distributed lock principle
(super detailed II) detailed visualization of onenet data, how to plot with intercepted data flow
2.C语言矩阵乘法
[graduation season · advanced technology Er] goodbye, my student days
Network layer 7 protocol
9. Pointer (upper)
CorelDRAW plug-in -- GMS plug-in development -- Introduction to VBA -- GMS plug-in installation -- Security -- macro Manager -- CDR plug-in (I)
Share a website to improve your Aesthetics
MySQL中count(*)的实现方式
FAQs and answers to the imitation Niuke technology blog project (III)
[during the interview] - how can I explain the mechanism of TCP to achieve reliable transmission
MySQL lock summary (comprehensive and concise + graphic explanation)
C语言入门指南
2. Preliminary exercises of C language (2)
7. Relationship between array, pointer and array
5月14日杂谈