查看: 2802|回复: 9

[已经过期] FileTest.directory?(filename)不识别中文目录

[复制链接]
梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
回帖
557
发表于 2014-12-23 16:10:53 | 显示全部楼层 |阅读模式

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

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

×
我用这个判断 FileTest.directory?(filename)
但他不识别中文目录,只要是中文的一概不行,英文的就可以
似乎VX上的directory?能够识别,就是XP上的不能识别,怎么解决?求教
最近在研究XAS
梦石
0
星屑
2826
在线时间
2634 小时
注册时间
2013-1-16
回帖
5453

贵宾

发表于 2014-12-23 17:54:55 | 显示全部楼层
因为中文字符的编码模式和英文的不同。
比较方便的方法就是将文件名更改为英文的。
如果修改的工程量较大则要在读取文件名的时候转换中文的编码模式,详见https://rpg.blue/thread-372489-1-1.html (抱歉,暂时未对这样的情况进行测试)
@晴兰 @taroxd

评分

参与人数 1星屑 +66 收起 理由
hys111111 + 66 感谢回答

查看全部评分

(Created by @喵kano)


施工现场:hotege.github.io
回复

使用道具 举报

【欧皇】

梦石
3
星屑
2055
在线时间
1004 小时
注册时间
2013-8-19
回帖
3040

开拓者

发表于 2014-12-23 18:36:55 | 显示全部楼层
将文件名改为英文即可,内容不用。
我测试过的,我签名档的游戏就是介样。
QQ:2223942063
Q群:365819625
贪吃方1.4
回复

使用道具 举报

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
回帖
557
 楼主| 发表于 2014-12-23 19:28:50 | 显示全部楼层
比较糟糕的是,
Dir.entries(path)
这个也对中文目录用不了,这样就没有办法获得目录里的文件名了
最近在研究XAS
回复

使用道具 举报

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
回帖
378
发表于 2014-12-23 20:12:05 | 显示全部楼层
改名字吧←←文件可以用中文貌似
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复

使用道具 举报

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

开拓者

发表于 2014-12-24 21:50:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2014-12-24 23:47:33 | 显示全部楼层
myownroc 发表于 2014-12-23 00:54
因为中文字符的编码模式和英文的不同。
比较方便的方法就是将文件名更改为英文的。
如果修改的工程量较大则 ...

创建文件可以用中文名啊。。。那这一句脚本到底是做什么的。。。

点评

那是判断路径是否存在  发表于 2014-12-25 00:57
可楼主这句好像也不是读取。。。我记得读取也是可以的。。。  发表于 2014-12-25 00:09
仅仅是创建可以  发表于 2014-12-25 00:06
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
回帖
557
 楼主| 发表于 2014-12-25 12:58:23 | 显示全部楼层
晴兰 发表于 2014-12-24 21:50
还有一个奇怪的hack性质的快捷方案
基于两个事实:
1. open的文件编码工作正常(包括中文也是)

Dir.entries(path)
这个要怎么处理,我是需要获得一个目录(中文名)下的所有文件名和目录名,判断完是否为一个目录后,发现Dir.entries(path)这步还是会因为中文名称而无法正常获得
open可以打开文件,但打不开目录
最近在研究XAS
回复

使用道具 举报

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

开拓者

发表于 2014-12-25 13:32:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
167
在线时间
434 小时
注册时间
2009-1-1
回帖
557
 楼主| 发表于 2014-12-25 16:44:06 | 显示全部楼层
晴兰 发表于 2014-12-25 13:32
这个我目前也只能想到用API转换编码给Dir.entries了,见https://rpg.blue/thread-372489-1-1.html的Di ...

我这边的情况是
Dir.glob,首先在不转码的前提下,如果填的是路径+具体文件名,就算路径和文件名都有中文也能成功获取,如果文件用*匹配且路径有中文就不能获取,如果文件用*匹配且路径没有中文就能成功获取(即便文件名是中文也能成功)。然后我是要获得一个中文目录中所含的文件项名,用* ?这些匹配下来都失败了。
转码的情况,不知道怎么回事,都失败,都是获得空数组,无论是那贴3L的utf8_to_ansi,还是EasyConv::u2s,都失败。然后直接用你写的那个Dir.glob代码改成自己的目录名也失败,换Dir.entries也失败,转码的都失败,我也不知道怎么回事
最近在研究XAS
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部