我在游戏中使用WWW请求来加载外部XML和JSON数据。一切正常,除非在DataPath中带有变音符号的PC上运行StandAlone。
用户姓氏为“Rösner”,数据路径为file://C:/Users/Rösner/[GameDataPath...]
。 WWW请求返回错误:
WWW.error = "Couldn't open file /Users/Rösner/[GameDataPath...]"
WWW.bytesDownloaded = 0
WWW.message = ""
路径正确,文件存在。一旦我们将目录移动到不在/Users/Rösner/
中的另一个文件夹,例如USB记忆棒,它就会起作用。
有没有办法防止这个问题?该游戏将在德国发行,我们有很多姓氏与变音符号。
答案 0 :(得分:1)
如果您想使用WWW
类而不是System.IO
,则应该转义您的URI("Note: URLs passed to WWW class must be '%' escaped.")。
尝试:
var www=new WWW(WWW.EscapeURL(pathToYourFile));
答案 1 :(得分:0)
您可以使用标准System.IO
api:
System.IO.File.ReadAllText(Application.streamingAssetsPath+"file.json");
应该更难打破。