首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Modelica编码问题

Modelica编码问题
EN

Stack Overflow用户
提问于 2015-05-21 11:46:30
回答 3查看 351关注 0票数 1

由于Modelica3.2 (2010年3月发布)允许在注释、描述字符串和/或注释中使用任意Unicode字符。

但是,由于某些原因,我在代码方面遇到了问题,如:

代码语言:javascript
运行
复制
within ;
model ENCO_testing "code for investigating Dymola encoding problems"
  Real TempC "Temperature in °C";
  parameter Real someNumber "description string german üöäß";
  Integer greekInt=4 "description string greek αβδεηζμθ";
  // a comment with math symbols: °²³~µ

equation 
  TempC = if greekInt > 3 then someNumber*5 else someNumber/3;
end ENCO_testing;

要重现我的问题,请尝试以下UTF-8往返:

  • 将上述文本复制并粘贴到您喜爱的文本编辑器中。
  • 使用UTF-8保存文件(带或不带BOM或任何其他编码)并关闭。
  • 在最喜欢的编辑器中再次打开,然后在OpenModelica和Dymola中打开(按这个顺序)
  • 如果情况仍然不错,请按Dymola中的保存按钮(可能删除一个字符并重新键入它)。
  • 在最喜欢的编辑器OpenModelica和Dymola中再次打开
  • 至少有些符号会在某个地方看起来不一样

有人能告诉我怎么保存这个文件吗?它到处看起来都很好吗?还是我期望太高了?有什么需要修复的,在哪里?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-21 14:06:29

在最新的Dymola (Linux)中测试UTF-8,似乎Dymola不再将编码更改为ISO-8859-1 (据我的记忆,它曾经改变了这一点)。但是,它看起来不太好,因为它的显示方式好像UTF-8文本是ISO的。

要让它在任何地方看起来都很好,最简单的方法是使用HTML实体。这在OMEdit的模拟结果浏览器中似乎没有正确显示,但在Dymola中却显示正确:

代码语言:javascript
运行
复制
Real TempC "<html>Temperature in &deg;C<html>";
票数 1
EN

Stack Overflow用户

发布于 2015-05-21 14:07:52

是的,这绝对是戴莫拉缺乏UTF8支持的一个问题(甚至2016年)。那该怎么办呢?对于描述字符串,您可以使用html实体来解决Dymola缺乏UTF8支持的问题。

例如,

代码语言:javascript
运行
复制
Real TempC "<html>Temperature in &deg;C</html>";
parameter Real someNumber 
  "<html>description string german &uuml;&ouml;&auml;&szlig;</html>";

不是很好,但很好;-)

PS:啊,向DS抱怨这个早就该发布的功能了。

票数 1
EN

Stack Overflow用户

发布于 2015-11-25 17:05:15

在Dymola 2016 FD01 (字面意思是刚刚发布),您可以设置Advanced.PreferWritingLatin1=false;以避免编写iso-拉丁文1文件。

要获得支持,您应该使用http://www.3ds.com/support和/或与您的分销商联系;地址Dymola.support@3ds.com已经退役。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30372814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档