Posted at

unityでエディターでは正常でもビルドすると文字化けする不具合

More than 1 year has passed since last update.


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 へインポートする


で解決しました。

これ使わなくても正常に動いてるプロジェクトもあって、そっちは謎…

何かのアセットに入ってたのかな