Project1

标题: RM读取游戏目录下txt文件的问题? [打印本页]

作者: 喵呜喵5    时间: 2017-4-13 15:22
标题: RM读取游戏目录下txt文件的问题?
本帖最后由 喵呜喵5 于 2017-4-13 21:31 编辑

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

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

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

=====

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


作者: shitake    时间: 2017-4-13 15:44
没办法,换mv。滑稽.jpg

用 win32API 转换txt内的编码。
路径中文这个。。。你p过拼接后的字符串么?是不是字符串本身的编码问题?转个码试试?
作者: 芯☆淡茹水    时间: 2017-4-13 16:01
   不知道怎么个加法,测试了下可以加啊!




作者: guoxiaomi    时间: 2017-4-13 16:06
本帖最后由 guoxiaomi 于 2017-4-13 16:07 编辑

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

有什么解决的思路吗?
作者: 喵呜喵5    时间: 2017-4-13 16:07
芯☆淡茹水 发表于 2017-4-13 16:01
不知道怎么个加法,测试了下可以加啊!
  1. Dir.foreach('.') do |file|
  2.   p (file+'你好世界')  
  3. end
复制代码

作者: 夜狠简单    时间: 2017-4-13 16:46
.force_encoding('utf-8')  
作者: 芯☆淡茹水    时间: 2017-4-13 16:50
本帖最后由 芯☆淡茹水 于 2017-4-13 16:51 编辑

  对的啊?!





作者: 芯☆淡茹水    时间: 2017-4-13 17:22
  原有的 UTF8 经过读取/储存也会恢复为默认的 ANSI

不转换为UTF8会读取什么错误?!至少这个我没遇到过,以前读取文本文档都很好的。
作者: 喵呜喵5    时间: 2017-4-13 21:30
芯☆淡茹水 发表于 2017-4-13 17:22
原有的 UTF8 经过读取/储存也会恢复为默认的 ANSI

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


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

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

不过已经找到转码脚本了之后也能处理了,总之非常感谢




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