查看: 3304|回复: 4

[已经过期] 请教require路径中含有中文字符的问题

[复制链接]
梦石
0
星屑
65
在线时间
389 小时
注册时间
2009-11-24
回帖
59
发表于 2013-1-6 18:50:42 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
要是路径中有中文字符,将会导致文件引用失败。

假设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本身应该支持中文的吧。
梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-1-6 19:06:43 | 显示全部楼层
啥子系统?不支持英文路径....../XXXX/Desktop吗?
回复

使用道具 举报

梦石
0
星屑
65
在线时间
389 小时
注册时间
2009-11-24
回帖
59
 楼主| 发表于 2013-1-6 20:07:54 | 显示全部楼层
Sion 发表于 2013-1-6 19:06
啥子系统?不支持英文路径....../XXXX/Desktop吗?

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

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2013-1-6 20:19:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
65
在线时间
389 小时
注册时间
2009-11-24
回帖
59
 楼主| 发表于 2013-1-6 20:55:42 | 显示全部楼层
API方面我不是很了解,可不可以写个范例给我参考一下。
我觉得连直接写绝对路径字符串的方法都没办法正常引用,通过获取路径的方法可能都不一定有效。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部