Project1

标题: 请教require路径中含有中文字符的问题 [打印本页]

作者: test    时间: 2013-1-6 18:50
标题: 请教require路径中含有中文字符的问题
要是路径中有中文字符,将会导致文件引用失败。

假设Game.exe在Project1目录下。
  1. require("C:/Documents and Settings/xxx/桌面/Project1/game.rb")
复制代码
用绝对路径时,因为路径中有“桌面”两个字,结果引用失败了。

然后改成相对路径,
  1. require("./game.rb")
复制代码
这时候避免了“桌面”两个字的显示,结果还是引用失败了。

于是尝试用间接的绝对路径,
  1. require(Dir.getwd + "./game.rb")
复制代码
测试了,结果还是不行。

然后我试着
  1. msgbox(Dir.getwd)
复制代码
显示结果如下
  1. C:/Documents and Settings/xxx//Project1/
复制代码
发现“桌面”两个字没有了……

我感觉是编码的问题,于是用下面的方法对字符串编码处理,
  1. .force_encoding("ASCII-8BIT")
  2. .force_encoding("UTF-8")
复制代码
结果还是引用失败。


在事件里面用显示图片的时候,
图片名那里用中文、特殊字符也可以正常显示出来,
我想RGSS3本身应该支持中文的吧。
作者: Sion    时间: 2013-1-6 19:06
啥子系统?不支持英文路径....../XXXX/Desktop吗?
作者: test    时间: 2013-1-6 20:07
Sion 发表于 2013-1-6 19:06
啥子系统?不支持英文路径....../XXXX/Desktop吗?

用的是XP SP2简体系统。
上面我是用“桌面”来当例子,当然用全英文路径的方法是可行的。
不过问题的重点不是在这里。
我是想说,假定中文必须出现在路径里面的情况下,怎样巧妙地解决引用问题。

作者: 晴兰    时间: 2013-1-6 20:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: test    时间: 2013-1-6 20:55
API方面我不是很了解,可不可以写个范例给我参考一下。
我觉得连直接写绝对路径字符串的方法都没办法正常引用,通过获取路径的方法可能都不一定有效。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1