MDL 文件和字符编码
当您保存模型时,将使用当前字符编码方式对模型文件中存储的文本进行编码。对于 MDL 文件,如果您原来保存模型时使用的编码方式与当前编码方式不同,可能会导致模型损坏。
如果您更改字符编码方式,可能会引入当前编码方式无法表示的字符。如果是这种情况,模型将另存为 model.mdl.err(其中 model 是模型名称),而保留原始模型文件不变。Simulink 还会显示一条错误消息,指出无法表示的第一个字符所在的行号和列号。
要修复此错误,请执行以下操作之一:
以 SLX 格式保存模型(请参阅将模型保存为 SLX 文件格式)。
找到这些字符并逐个删除。
使用文本编辑器,在 .err 文件中找到保存时显示的错误消息中指示的位置处的字符。
在打开的模型中找到并删除对应的字符,然后重新保存模型。
重复此过程,直到您能够成功保存模型,而不发生任何错误为止。
模型的原始编码方式也许能够显示您在当前会话中所做的所有文本更改,但有可能不正确。例如,假设您在会话中打开一个模型,模型的原始编码方式为 A,会话的当前编码方式为 B。再假设您编辑了该模型,引入一个在 A 和 B 中具有不同编码的字符,然后保存模型。进一步假设字符 x 在 B 中的编码与字符 y 在 A 中的编码相同,假如您在 B 有效时在模型中插入了字符 x,保存模型,然后使用 A 重新打开模型,则 Simulink 软件会将字符 x 显示为 y。为了提醒您发生此类损坏的可能性,每当您保存模型时,如果模型的当前编码方式与原始编码方式不同,但原始编码方式可以对保存到模型文件中的所有字符进行编码(但可能不正确)时,就会显示警告消息。