1

Modelica 3.2 ( 2010 年 3 月リリース) 以降、コメント、説明文字列、および/または注釈で任意の Unicode 文字を使用することが許可されています。
しかし、何らかの理由で、次のようなコードで問題が発生しています。

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 で再度開く
  • 少なくともいくつかの記号はどこかで異なって見えるでしょう

どこでも見栄えがするようにそのファイルを保存する方法を誰か教えてもらえますか? それとも期待しすぎですか?何をどこで修正する必要がありますか?

4

3 に答える 3

1

Dymola 2016 FD01 (文字通りリリースされたばかり) では、Advanced.PreferWritingLatin1=false;iso-latin-1 ファイルの書き込みを回避するように設定できます。

サポートについては、http://www.3ds.com/supportを使用するか、販売代理店にお問い合わせください。アドレス Dymola.support@3ds.com は廃止されました。

于 2015-11-25T17:05:15.600 に答える
1

はい、これは間違いなく、Dymola で UTF8 がサポートされていないことによる問題です (2016 年でも)。じゃあ何をすればいいの?説明文字列については、HTML エンティティを使用して、Dymola の UTF8 サポートの欠如を回避できます。

例えば、

Real TempC "<html>Temperature in &deg;C</html>";
parameter Real someNumber 
  "<html>description string german &uuml;&ouml;&auml;&szlig;</html>";

良くありませんが、動作します;-)

PS: ああ、この長い間待ち望まれていた機能について DS に文句を言いましょう。

于 2015-05-21T14:07:52.287 に答える
1

最新の Dymola (Linux) で UTF-8 をテストすると、Dymola がエンコーディングを ISO-8859-1 に変更しなくなったようです (私の記憶では、以前はこれを変更していました)。ただし、UTF-8 テキストが ISO であるかのように表示されるため、見栄えがよくありません。

どこでも問題なく見えるようにする最も簡単な方法は、代わりに HTML エンティティを使用することです。これは、OMEdit のシミュレーション結果ブラウザでは正しく表示されないようですが、Dymola では表示されます。

Real TempC "<html>Temperature in &deg;C<html>";
于 2015-05-21T14:06:29.623 に答える