2、编辑器能输入中文正常显示,保存重新打开后变成乱码(一般是??)
统一的解决方法是
①Control Panel,Region,Administrative,Language for non-Unicode Option Set as Chinese(Simplified,China)
②Control Panel,Region,Formats,Format Option Set as Chinese(Simplified,China).
注意,光设置Language for non-Unicode Option是没用的,Format也要一起设。
但是这样有个什么问题呢?系统格式变成中文了,matlab显示语言也变成中文了,如果实验室有其他人和你一起共用会很不好。
精准一些的解决方法是
1、编辑器不能显示中文一般是字体的问题,改字体,有很多教程了,MATLAB,Preferences,Fonts。
2、编辑器能显示中文就不是字体的原因了,保存变乱码考虑是字符集的问题。来看一下
>> feature('locale')
ans =
struct with fields:
ctype: 'en_US.windows-1252'
collate: 'en_US.windows-1252'
time: 'en_US.windows-1252'
numeric: 'en_US_POSIX.windows-1252'
monetary: 'en_US.windows-1252'
messages: 'en_US.windows-1252'
encoding: 'windows-1252'
terminalEncoding: 'GBK'
jvmEncoding: 'Cp1252'
status: 'MathWorks locale management system initialized.'
warning: ''
这里的en_US.windows-1252是指向Cp1252的一个Name,Cp1252这个小字符集才是关键,其他都不用看了,只要考虑把jvmEncoding: 'Cp1252'这个改掉就行。
找MATLAB目录下的lcdata.xml文件,里面是空的,MATLAB如果读lcdata.xml为空,会使用系统默认的字符集,但是并不代表lcdata.xml文件是没用的,我用的是MATLAB2017,同一个目录下还有一个lcdata_utf8.xml,直接更名成lcdata.xml,搜索windows-1252或者是cp1252,找到节点
<encoding name="windows-1252" jvm_encoding="Cp1252">
<encoding_alias name="1252"/>
</encoding>
<encoding name="windows-1252" jvm_encoding="UTF-8">
<encoding_alias name="1252"/>
</encoding>
重启MATLAB,feature('locale')
中文显示也正常了。
如果没有lcdata_utf8.xml怎么办?确定ctype与jvmEncoding的关联,自己编辑lcdata.xml就行了
按照它的格式
<!-- <codeset> -->
<!-- <encoding name="StandardEncodingName" jvm_encoding="JavaEncodingName"> -->
<!-- <encoding_alias name="AliasName"/> -->
<!-- </encoding> -->
<!-- </codeset> -->
<codeset> <encoding name="windows-1252" jvm_encoding="UTF-8">
<encoding_alias name="1252"/>
</encoding></codeset>
//====================================xisat=================
困扰我几天了,今天下决心来弄好,希望能帮到大家。
英文操作环境下MATLAB编辑器里的中文乱码,应该是有两种情况1、编辑器输入中文显示乱码(一般是框框等等)2、编辑器能输入中文正常显示,保存重新打开后变成乱码(一般是??)统一的解决方法是①Control Panel,Region,Administrative,Language for non-Unicode Option Set as Chinese(Simplified,Chi...
打开从未打开过的别人的
matlab
文件后,发现中文注释全是乱码,但自己在这个文件的基础上输入中文并
保存
后,再次打开发现自己新输入的中文不是乱码。
查阅一些
解决
方案后,尝试在命令行中输入:
feature('locale')
结果提示如下:
ans =
包含以下字段的 struct:
ctype: 'zh_CN.GBK'
collate: 'zh_CN.GBK'
使用
MATLAB
的小伙伴经常遇到
中文乱码
问题,造成乱码的原因是由于文件编码的问题,文件
保存
的格式有多种,像
UTF-8
与ANSI是比较常见的;
而
MATLAB
大多版本默认是GBK编码,20以后版本貌似是UTF8,但这不重要,只需要将文件的编码方式改为与
MATLAB
默认编码方式一致即可
解决
问题。
解决
办法:
①首先通过以下命令可以查看
MATLAB
当前的编码方式(GBK或UTF8)
slCharacterEncoding()
feature('locale')
②若是
显示
GBK,找到本地文
- 在"环境"区域中选择"首选项",然后选择"
编辑器
/调试器"。
- 在"
编辑器
/调试器"首选项窗口中选择"语言"。
- 在"文件编码"选项中选择"
UTF-8
"或"GB2312",这两个编码都支持中文。
- 点击"确定"
保存
设置,然后重新打开需要编辑的文件,查看是否
解决
了乱码问题。
2. 更换字体:
- 打开
MATLAB
编辑器
,点击"主页"选项卡。
- 在"环境"区域中选择"首选项",然后选择"
编辑器
/调试器"。
- 在"
编辑器
/调试器"首选项窗口中选择"字体"。
- 在字体列表中选择一个支持中文
显示
的字体,如宋体、微软雅黑等。
- 点击"确定"
保存
设置,然后重新打开需要编辑的文件,查看是否
解决
了乱码问题。
希望以上
方法
能够帮助到您
解决
MATLAB
编辑器
中文乱码
的问题。如果问题仍然存在,请告诉我具体的
操作系统
和
MATLAB
版本,我将尽力提供更多的帮助。