【MATLAB技巧】打开脚本(m文件)后,中文乱码的解决方案
在 MATLAB 中打开
.m
文件出现乱码,通常是由于文件编码格式不兼容引起的。MATLAB 默认使用 UTF-8 编码,.m
文件也默认以UTF-8的编码格式保存,如果某个MATLAB是以ANSI、GB2312、GBK 或其他编码格式来显示,就可能导致中文或其他字符乱码。
文章目录
- 使用记事本打开,再粘贴
- 重新以正确编码方式打开文件
- MATLAB 中修改默认字符编码(不推荐)
- 修改lcdata.xml文件(推荐)
以下是一些解决方法,建议依次尝试
使用记事本打开,再粘贴
.m文件是可以用记事本打开的,打开后如果中文显示正常,则复制、粘贴到MATLAB空脚本中,再运行即可。
- 优点:简单、不用调节软件的编码格式
- 缺点:.m.m.m文件数量过多时,这样的操作需要重复多次,且记事本打开后可能也有乱码
重新以正确编码方式打开文件
使用 MATLAB 的 fopen
手动指定编码:
fid = fopen('your_file.m', 'r', 'n', 'GB2312'); % 或 'GBK',视你的编码而定
txt = fread(fid, '*char')';
fclose(fid);% 可选:将其保存为UTF-8格式
fid = fopen('your_file_utf8.m', 'w', 'n', 'UTF-8');
fwrite(fid, txt);
fclose(fid);
MATLAB 中修改默认字符编码(不推荐)
可以尝试临时修改MATLABMATLABMATLAB的默认编码,但这会影响其他程序或脚本。
slCharacterEncoding('GBK'); % 或者 'GB2312'
% 处理完文件后,建议恢复默认
slCharacterEncoding('UTF-8');
- 缺点:修改编码后,请确保对所有文件都一致使用,以免影响其他脚本的运行。
修改lcdata.xml文件(推荐)
安装目录下的bin目录有一个lcdata.xml文件,使用记事本打开后,将以下内容:
< encoding name=”UTF-8”>
< encoding_alias name=”utf8”/>
< /encoding>
改为
< encoding name=”UTF-8”>
< encoding_alias name=”utf8”/>
< encoding_alias name=”GBK”/>
< /encoding>
保存文件后,再重启MATLABMATLABMATLAB即可。
此方法:
- 优点:一劳永逸、成功率高
- 缺点:操作繁琐、可能会影响其他编码格式的文件
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者