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目錄下,打包的時候會一起打包出去就行了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章