はじめに
using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var encoding = Encoding.GetEncoding( "shift_jis" ); var count = encoding.GetByteCount( "ピカチュウ" ); Debug.Log( count ); } }
上記のように Encoding で Shift JIS を使用するコードを Android で実行したところ
NotSupportedException: Encoding 932 data could not be found. Make sure you have correct international codeset assembly installed and enabled.
このようなエラーが発生した(Mono ビルドでも IL2CPP ビルドでも同様)
解決方法
【Unity のインストール先】\Editor\Data\Mono\lib\mono\unity
上記のフォルダに存在する「I18N.CJK.dll」と「I18N.dll」を
Unity プロジェクトに追加してビルドしたら
Android において Encoding で Shift JIS を使用できるようになった