初めに
Unityで日頃開発していて、気になっていたけど
実害はなかったので気にしてなかったのだけど、
UnityとVisualStudioの組み合わせで起きてしまう文字化け
今回は、これを自分なりの解消法を書きたいと思います。
なぜ文字化けがおきるか?
UnityからC#のスクリプトファイルを作成するとUTF-8(BOM無し)になりますが、
VisualStudioはUTF-8(BOM付き)じゃないとコードページを解釈できずにShift-JISになってしまうようです。
調べてみました。
googleで検索してみると自分なりの最適解が見つかりました。
上記の内容を見て自分の最適解は
.editorconfig
を使う方法を取る事にしました。
理由は、上記のURLと同じ理由で
スクリプトに手を入れる度にチェックが走るのは余計ですし、
外部アセットなど元からエンコードが整っているものをインポートする際にも走ってしまいます。
大量のスクリプトを含むアセットのインポートでは無視できないコストになるかもしれませんし、
プロジェクトが膨らんでくるとインポート時間も長くなっていくので、予め省けるコストは省いておきたいですよね。
あと、元からある、スクリプトはどうするかの問題も、ZiiDetector と言うアプリを使うことで解決しました。
スクリプト
.editorconfigってファイルをUnityのプロジェクト以下に置いて
テキストエディタで開いて下記を書く
root = true
[*.{cs}]
charset = utf-8-bom
最後に
文字コードの問題はたびたびでるけど、統一してくれないかな~~。。