Unity发布版读取中文乱码

今天使用Unity读取网页数据的时候,有时候是好的,有时候显示乱码。

var request = UnityWebRequest.Get(url);

// Wait for the response and then get our data
yield return request.Send();
var data = request.downloadHandler.text;

后来发现网页数据写的格式是gbk,于是使用Encoding进行转换读取倒是成功了,不是乱码。

Encoding encoding =Encoding.GetEncoding("gbk");
var data=encoding.GetString(request.downloadHandler.data);

在编辑器运行没问题,但是发布出exe却发现读取的时候会报错:
Unsupported encoding 'GBK': Encoding name 'GBK' not supported

后来查找才知道,因为打包出来的版本没有带dll,而编辑器带了dll,解决方法如下:

将Unity安装目录中的\Editor\Data\Mono\lib\mono\unity 目录下的 I18N.dll 和 I18N.CJK.dll 复制到Assets/Plugins目录下,打包的时候会一起打包出去就行了。

 

你可能感兴趣的:(游戏开发踩坑记录,unity3d,unity小技巧)