设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3311|回复: 27
打印 上一主题 下一主题

[已经解决] RM读取游戏目录下txt文件的问题?

[复制链接]

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

跳转到指定楼层
1
发表于 2017-4-13 15:22:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 喵呜喵5 于 2017-4-13 21:31 编辑

尝试用 RM 读取游戏目录下 txt 文件,但是在中文上遇到了比较麻烦的问题,具体是下面两个:

文件名包含中文时,无法对这个中文文件名进行相关的字符串拼接操作(例如 string = filename + "1")
文件内容编码不为 utf-8 时,读取文件内容时会发生错误

请问这些问题有办法解决吗?

=====

已使用这个转码脚本自行解决:https://rpg.blue/forum.php?mod=v ... amp;_dsign=885f21b4

点评

大概只有转编码了…GBK和UTF-8的码位不同啊。  发表于 2017-4-13 17:12
Windows 记事本默认的编码是 ANSI,对应中文系统就是 GBK  发表于 2017-4-13 16:43
不为UTF-8的编码是哪种编码  发表于 2017-4-13 16:37

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

2
发表于 2017-4-13 15:44:20 | 只看该作者
没办法,换mv。滑稽.jpg

用 win32API 转换txt内的编码。
路径中文这个。。。你p过拼接后的字符串么?是不是字符串本身的编码问题?转个码试试?

点评

喵dalao都不会的问题O.O  发表于 2017-4-13 16:34
不用了,找到转码脚本了  发表于 2017-4-13 16:00
就是编码的问题,我想问的就是如何转码  发表于 2017-4-13 15:54

评分

参与人数 1星屑 +150 收起 理由
喵呜喵5 + 150

查看全部评分

附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33439
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

3
发表于 2017-4-13 16:01:00 | 只看该作者
   不知道怎么个加法,测试了下可以加啊!



评分

参与人数 1星屑 +150 收起 理由
喵呜喵5 + 150

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

4
发表于 2017-4-13 16:06:41 | 只看该作者
本帖最后由 guoxiaomi 于 2017-4-13 16:07 编辑

好像不能require中文目录下的rb文件,也许是load?记不清了……

有什么解决的思路吗?

点评

不按 require 那样用的话基本没影响吧  发表于 2017-4-13 17:37
那,这样会影响执行速度吗  发表于 2017-4-13 17:26
我自己是放弃了 require, 文件形式读进来然后 eval……  发表于 2017-4-13 16:12

评分

参与人数 1星屑 +150 收起 理由
喵呜喵5 + 150

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

5
 楼主| 发表于 2017-4-13 16:07:43 | 只看该作者
芯☆淡茹水 发表于 2017-4-13 16:01
不知道怎么个加法,测试了下可以加啊!
  1. Dir.foreach('.') do |file|
  2.   p (file+'你好世界')  
  3. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
6
发表于 2017-4-13 16:46:52 | 只看该作者
.force_encoding('utf-8')  

点评

这个只是改变编码标记而不是真真的转码,转码需要iconv  发表于 2017-4-13 22:18
试过,并不能解决读入的文件是其他编码时的问题  发表于 2017-4-13 16:47

评分

参与人数 1星屑 +150 收起 理由
喵呜喵5 + 150

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33439
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2017-4-13 16:50:07 | 只看该作者
本帖最后由 芯☆淡茹水 于 2017-4-13 16:51 编辑

  对的啊?!




点评

嗯是的,文件名这个已经靠转码脚本解决了,但文件编码这个还没解决  发表于 2017-4-13 17:06
还不是一样,有转码脚本,把文件名字符串转换UTF8,再加就行了。  发表于 2017-4-13 17:05
呃?我是用RMVA测试的……你的是XP?  发表于 2017-4-13 16:58
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33439
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

8
发表于 2017-4-13 17:22:23 | 只看该作者
  原有的 UTF8 经过读取/储存也会恢复为默认的 ANSI

不转换为UTF8会读取什么错误?!至少这个我没遇到过,以前读取文本文档都很好的。

点评

Ruby 内部变量 $KCODE(这个参考中没有说明),预先就设定为 'UTF8'。RPGXP 输出的脚本数据和其他字符串数据都是用 UTF-8 编码的。  发表于 2017-4-13 17:45
不知道……难道是Ruby41.8和Ruby1.9的区别?我装一个XP试试  发表于 2017-4-13 17:44
唔~,奇怪,像LS用XP判断怎么就没问题?!  发表于 2017-4-13 17:40
有转码就行了啊,判断就转码。O.O  发表于 2017-4-13 17:34
"你好世界" == "你好世界" # false  发表于 2017-4-13 17:29

评分

参与人数 1星屑 +250 收起 理由
RaidenInfinity + 250 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

9
 楼主| 发表于 2017-4-13 21:30:49 | 只看该作者
芯☆淡茹水 发表于 2017-4-13 17:22
原有的 UTF8 经过读取/储存也会恢复为默认的 ANSI

不转换为UTF8会读取什么错误?!至少这个我没遇到过 ...


装了XP测试了一下,文件名这个确实RMXP和RMVA不一样
但是GBK编码问题这个两边都是存在的:
判断第二行的文本
  1. open('测试文本.txt').readlines[1] == "你好世界"
复制代码

对于GBK,不转码都是返回 false

不过已经找到转码脚本了之后也能处理了,总之非常感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 06:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表