STM32CubeIDEで日本語が文字化けした時の対処方法

STM32CubeIDEで日本語が文字化けした時の対処方法をわかりやすく解説します。

 

日本語の文字化け

 

STM32CubeIDEのエディタ上で日本語が文字化けして困っているという方いらっしゃらないでしょうか?おおよそTrueSTUDIOやSW4STM32からの移行組で発生している問題だと思います。

本記事では、そういった方々の課題を解決します。

 

 

2020年2月26日 追記

この対処を行った後でも、コード生成をすると、また日本語が文字化けしてしまう件について追記しました。

 

 

日本語が文字化けする原因

結局、文字化けが起こるのは、文字コードかフォントが適切でないことが原因です。それはSTM32CubeIDEでも同様です。

 

日本語の文字化けを直す方法

 

文字コードを合わせる

まずは、ソースファイルとCubeIDEの文字コードを合わせましょう。

 

CubeIDEのデフォルト設定がUTF-8なので、そちらに合わせる方がスマートだと思います。文字コード変換ツールを使ってソースファイルの文字コードをUTF-8に変換してください。ツールは何でも良いですが、私はKanjiTranslatorを愛用しています。

 

ソールファイルの文字コードを変換したくない!というのであれば、CubeIDEの文字コード設定を変更しましょう。

 

  • プロジェクトを右クリック→Properties…
  • Resource→Text file encoding→Other:でソースファイルと同じ文字コードを選択してください。
    ここではShift_JISを選択しています。

 

文字コードの設定

 

すると、どうでしょう。文字化けがちょっと改善されていますね。残った一部の文字化けはフォントの設定を修正すると直ります。

 

文字化けちょっと改善

 

フォントを適切なものに変える

CubeIDEのデフォルトのフォント『Consolas』は完全には日本語に対応していないため、一部の日本語が文字化けしてしまいます。なので、適切なフォントに設定してあげましょう。

 

  • Windows→Preferences
  • General→Appearance→Colors and Fonts
  • C/C++→Editor→C/C++ Editor Text Font (overrides default: Text Font)を選択
  • 右上部のEdit…ボタンをクリック

 

フォント設定1

 

  • フォント名(F):で適切なフォントを選択
  • OKボタンをクリックしてください

 

フォント設定2

 

フォントはお好みのものを選んでください。参考までにWindows10ユーザーの私は、デフォルトで入っているものだと『UD デジタル教科書体 N-R』が好きです。

好みのものがなければ適時インストールしてください。

 

文字化けが解消

 

日本語の文字化けが解消されましたね!お疲れ様でした!

 

コード生成すると、また文字化けする件

あまり日本語使わないので気付かなかったのですが、ソースコードを自動生成すると、また日本語が文字化けしてしまうようです。

調べてみたらQiitaに対処方法があったのでリンクしておきます。

 

STM32CubeMXのコード生成時にUTF-8が文字化けしないようにする

 

補足:ワークスペース全体の文字コードの設定

説明ではプロジェクトに対して文字コードの設定をしましたが、本来Eclipseはワークスペース全体に対して設定が可能です。しかし、2019年7月現在、CubeIDE ver.1.0.2では、この設定は効かないようです。設定を変えても、勝手に元の設定(UTF-8)に戻ってしまいます。

理由はわかりませんが、現状はこのような挙動となっています。頭の片隅にでも入れておいてください。