#unityでエディターでは正常でもビルドすると文字化けする不具合
unityからプロセスを起動してメッセージを受け取ってる時に
エディターでは正常に二バイト文字を受け取れているのに
ビルト後のexeでは文字化けしてしまって動かせないという不具合がありました。
それがまた、プロジェクトによって起きたり起きなかったり…。
で、探してみるとunityのヘルプデスクにありました。
System.Text.Encoding で Shift JIS を使いたい
エディタ上では使うことができるため、ビルド後のみエラーが発生するという挙動になります。
おい!
確かに他の解決法でプロセス起動情報で文字コード入れるといいよとあったんですが
proces.cs
Import System.Text;
(略)
process.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("Shift_JIS");
で、ビルド後に実行したらサポートしてないって怒られたんですよね。
ヘルプデスクの通りに
Unity のエディタに含まれる I18N.dll および I18N.CJK.dll をプロジェクトの Assets へインポートする
で解決しました。
これ使わなくても正常に動いてるプロジェクトもあって、そっちは謎…
何かのアセットに入ってたのかな