💨

ShiftJISからUTF-8 BOMにまとめて変換する方法

2024/08/23に公開

文字化けの原因

Windows環境でUnityを使用して新しくスクリプトを作成すると、デフォルトでShift_JISエンコードが使用されます。一方で、UnityのエディタやVisual Studioは、通常UTF-8が使われています。このエンコードの不一致が文字化けの原因となります。

:::note info
UTF-8 BOMとは
UTF-8 BOM(Byte Order Mark)は、ファイルの先頭に付加される特別なマークで、ファイルがUTF-8エンコードであることを示します。これにより、多くのテキストエディタやIDEが正しくファイルを認識し、日本語を含む多言語のテキストを適切に表示できます。
:::

解決方法

エンコードをUTF8-BOM有で一致させる必要があります。
方法はいくつかありますが今回は一括で変換できるソフトを紹介します。

ZiiDetectorを使ったエンコード変換

  1. ZiiDetectorのインストール
  2. ダウンロードしたファイルを解凍する
  3. exeを起動する
  4. 起動すると以下のような画面が表示されるので、
    ここにUnityのAssetsフォルダをドラック&ドロップ
    スクリーンショット 2024-06-20 155840.png
  5. ここをUTF-8(BOM有)にして変換をクリックする
    スクリーンショット 2024-06-20 160012.png

結果

一瞬でまとめて変換できる。
自動で変換する方法もいくつかあるようだが過去にうまくいかなかった(やたらロードされたり変換されてなかったり、、、)ので、この方法で変換するに至った。
MacとWindowsの両環境を使用していると必ずこの問題にぶち当たるのでUnity側で何とかしてくれるようになってほしいと切実に思います。

参考

https://qiita.com/kumi0708/items/2f8dd2fc2ccb673ff12b

https://www.create-forever.games/unity-source-code-encode/

Discussion