要使用GB("2312")编码,需从Unity安装目录(
Editor\Data\Mono\lib\mono\unity 和
Editor\Data\Mono\lib\mono\2.0 两个目录中,拷贝
I18N.DLL 和
I18N.CJK.DLL到项目目录Asset文件夹下,PC测试可正常使用。但在unity5中要支持64位ios,就要选择IL2cpp模式,打包出来报错如下:
”NotSupportedException: CodePage "G2312" not supported”
而在mono2.x模式下打包正常运行。
原因是IL2cpp模式打包I18N.DLL 和 I18N.CJK.DLL没有导入到xcode工程中,在xcode工程中搜索“I18N.DLL "、"I18N.CJK.DLL"没有结果。
解决方法:
将GB("2312") 改名为GB(936),两者是一样的。
在Assets根目录下添加link.xml文件,其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<linker>
<assembly fullname="I18N"> <type fullname="I18N.Common.Manager" preserve="all"/>
</assembly>
<assembly fullname="I18N.CJK">
<type fullname="I18N.CJK.CP936" preserve="all"/>
</assembly>
</linker>
打包后该编码能正常使用。