添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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 版本,我将尽力提供更多的帮助。