2018年5月3日木曜日
MQL 内で日本語は使わない方が良い
MQL4 のコンパイラ自体は UTF-8 や UTF-16 のマルチバイト文字を問題なく扱えているように見えます。
`printf` 内の文字列も出力できています。
コメントも日本語で大丈夫のようです。
```mq4
// コメントも OK
printf("テスト");
```
動作確認環境は
- Windows 10
- Metatrader 4.00 build 1090
- Shift-JIS と UTF-16
### それでも使わない
それでも私は日本語を含むマルチバイトは使わないことに決めました。
まず、公式にはマルチバイトに関しての記述が見られません。
かつ、MetaEditor の扱う UTF がデフォルトで UTF-16 というのが問題です。(Save as Unicode を使用した場合)
今の御時世、ソースコードは [VCS (Version Control System)](https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0) を使って管理します。
私は [git](https://git-scm.com/) を好んで使っていますが、git では UTF-16 を含むファイルはバイナリファイルとして扱われてしまうのです。
そのため、適切な差分管理が行えません。
どうも、一度 UTF-8 に変換してから MetaEditor で読み込み直すと、UTF-8 のまま処理できるという裏ワザもあるようですが、どこで元に戻るかよくわからないので、それも諦めました。
まぁ、そもそもそんなに文字列多用しないので日本語使わなくてもいいかな。