1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsで作成したUnityスクリプトを、Macで文字化けせず開く方法

Posted at

Macに環境移行した際、多くの人がCSファイル(の全角文字部分)の文字化けに悩まされているかと思います。

原因

WindowsとMacで日本語を扱う際に用いられるエンコーディングが異なるためです。

  • Windowsでは、Shift-JIS
  • Macでは、UTF-8

がそれぞれ用いられています。

本題

この問題を解決するには、CSファイルをBOM付きUTF-8で保存し直す必要がありますが。
数百以上あるCSファイルを、全て手作業で保存し直すのはとても大変な作業になります。

そこで、かんたんに解決できる方法をご紹介します。

それはズバリ! Windows環境にてバッチファイルを作成し変換処理したものをMacへコピーすることです! 一度作成すれば、今後も同じ方法で変換処理が可能です。

上記の記事にある「シフトJIS ⇒ BOM 付き UTF-8」の部分が該当します。
使い方は、記載されているソースコードをメモ帳等へ貼り付けし、拡張子を「.bat」とすることで使える様になります。(できれば、エンコーディングをANSIで保存すると良いです。)

あとは、このバッチファイル(のアイコン)へ変換したいファイルをドラッグ&ドロップするだけです。

しかし、

この記事に記載されているままでは。「.txt」と「.csv」しか変換する事ができない様ですので、CSファイルのままバッチ処理させるには、少し手を加える必要があります。
(閉じてしまった人は、右クリック→編集で開けます。)

具体的には、

$fileTypes = @('.txt', '.csv') の部分に.CSを追加して $fileTypes = @('.txt', '.csv', '.cs') と変更し、このままだと元ファイルとは別でコピーが生成される仕様なので、 $dst = $file.fullname + ".utf8bom" + $file.extension の部分を短くして $dst = $file.fullname に変更する事で、元ファイルへ上書きする仕様にできます。
(こうしないと、同フォルダ内に元ファイルとコピーが混在して仕分けが大変になります。)

これで、CSファイルのままでドラッグ&ドロップすると、元ファイルが変換されたデータに上書きされる仕様となりました!

最後に注意点

※処理させる前に、必ず元ファイルのコピーを別で取っておきましょう。
(ゴミ箱にも残らないので、処理が失敗すると最悪詰んでしまいます。)

※また、当方およびバッチの制作者様は、いかなる損害についても責任を負いません。
試される際は、自己責任でお願い致します。

今回は以上になります!
お疲れ様でした!!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?