Unity使用发布后找不到编码的问题GetEncoding("GB2312")问题

最近服务器都是发GB2132的格式,在本地转码,Editor模式下正常。导出PC包就解析错误。
查了半天发现了一篇文章,不过不知道原文出处,记录一下。
(PS:感觉那网址,不保险,随时就没了。还是记录一波吧)
原文内容如下:

最近在开发中要用到GB2312字符编码(CP936),在C#代码中便有了如此代码
NotSupportedException: CodePage 936 not supported
谷歌后便将I18N.DLL和I18N.CJK.DLL从Unity安装目录
(Editor\Data\Mono\lib\mono\unity和Editor\Data\Mono\lib\mono\2.0)
两个目录下都存在,拷贝到项目目录Asserts目录下,重新编译出包,正常运行。
在出iOS包时,又再次出现
NotSupportedException: CodePage 936 not supported
前面虽然已经把相关库文件放到项目之中,但仔细查看xcode工程目录,其下并没有
I18N.DLL 和 I18N.CJK.DLL 文件的任何影子。此时便想到我们的unity项目中使用的
stripping level可能会有影响,索性暂时disable stripping,尝试重新出iOS包,发现
一切正常,再看xcode工程目录下果然也有了I18N.DLL 和 I18N.CJK.DLL。
那么,问题又来了,如果仍想继续使用stripping,有没有办法?
unity 官方手册中提到,可以通过添加白名单的方式,在使用stripping时,忽略掉指定
的库。方式是在Assets根目录下添加link.xml文件,其内容格式如下

<?xml version="1.0" encoding="utf-8"?> 使用CP936,只需要添加上述内容。 如此,将该link.xml文件添加到Assets根目录下后,开启stripping后,CP936也可以正常使用了~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值