System.Text.Encoding で Shift JIS を使いたい

高橋 啓治郎 -

Unity の Standalone Player は Shift_JIS (codepage 932) の encoding を含んでおらず、これを System.Text.Encoding で使おうとするとエラーになります。なお、エディタ上では使うことができるため、ビルド後のみエラーが発生するという挙動になります。

かなり裏技的な方法になりますが、このエラーを回避する方法があります。Unity のエディタに含まれる I18N.dll および I18N.CJK.dll をプロジェクトの Assets へインポートするというものです。これらの dll がビルド後のアプリケーションに含まれることによって、ビルド後にも Shift_JIS の使用が可能になります。

あるいは utf8-sjis-encoder のような変換用のライブラリを導入するもの一つの手です。

 

他にご質問がございましたら、リクエストを送信してください

4 コメント

  • 0
    Avatar
    Tomokatsu Shimbo

    iPad向けにビルドする際に、こちらの記事と同じ事象に陥りました。2つのdllをUnity.appの中から検索すると複数見つかったので、適当に選択してAssets直下に入れて際ビルドしてiPadで実行しましたが、やはりshift_jisが見つからないとxcode上でエラーが出ます。何か解決策をご存知でしたら教えていただきたいです。よろしくお願いいたします。

  • 0
    Avatar
    原田拓

    EUC-JPで同様な問題が発生し、I18N.CJK.dllをAssets/Plugins/x86へ入れて解決しました。

  • 0
    Avatar
    El Puerco

    Hi,

    I have this problem where code runs in editor but not on Android device:

    Unity: System.ArgumentException: Encoding name 'Shift-JIS' not supported

    Any advice would be most welcome re my post here:

    Https://forum.unity3d.com/threads/shift-jis-on-android-mobile.464962/ 

    Thanks

  • 0
    Avatar
    El Puerco

    Hi,

    I have this problem where code runs in editor but not on Android device:

    Unity: System.ArgumentException: Encoding name 'Shift-JIS' not supported

    I have tried the suggestions made on this site but still get the error.

    Any advice would be most welcome re my post here:

    Https://forum.unity3d.com/threads/shift-jis-on-android-mobile.464962/ 

    Thanks

ログインしてコメントを残してください。
Powered by Zendesk