文字エンコーディングエラー
文字エンコーディングエラーとは
先生、入力ファイルを読み込ませたら「illegal character」で弾かれました。
多くのCAEソルバーはASCII文字のみ受け付ける。日本語パス名やコメント中のマルチバイト文字(UTF-8, Shift_JIS)が混入していると読み込みエラーになる。WindowsとLinux間でのファイル転送時にも問題が起きやすい。
エラーメッセージと対策
Abaqus
メッセージ: ***ERROR: ILLEGAL CHARACTER ON LINE xxx OF INPUT FILE
Abaqusの.inpファイルはASCIIのみ対応。日本語のコメント(** で始まる行)も使えない。パス名に日本語フォルダ名が含まれている場合も失敗する。
日本語のコメントが使えないのは不便ですね…
回避策として、英語でコメントを書くか、別途ドキュメントファイル(README.txt等)に日本語の解析条件メモを残す方法がある。
Nastran
NastranのBDFファイルもASCIIベース。フリーフォーマット(カンマ区切り)の場合、改行コードがCR+LF(Windows)かLF(Linux/Mac)かでも問題が起きることがある。
OpenFOAM
OpenFOAMの辞書ファイルもASCIIのみ。特にWindowsで編集したファイルをLinuxに転送する際、改行コードの変換が必要:
```
dos2unix system/controlDict
```
改行コードの違いって、見えないから気づきにくいですよね。
テキストエディタ(VS Code等)で改行コードの表示を有効にしておくと安心だ。VS Codeならステータスバーに「CRLF」「LF」が表示される。
ソルバーエラーの原因特定に費やす時間は、もっと短くできるはず。 — Project NovaSolverはエラー診断体験の改善を研究テーマの一つとしています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、文字エンコーディングエラーを含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
開発パートナー登録 →