Ruby 1.9.2 Find.find 编码

发布于 2024-10-11 20:25:04 字数 361 浏览 7 评论 0原文

我知道你可以执行 Dir.entries('.', {:encoding => 'utf-8'}) 并且它可以正常工作,但我找不到任何方法来强制执行 Find.find 时的编码。在 Windows 上,第一个方法正确读取文件名舦舨.txt,并对值执行 File.file? 返回 true。然而,执行 Find.find 返回 ??.txt,即使 ruby​​ 说它的编码是 utf-8。另外,File.file? 返回false

有没有办法在Find.find上设置编码?

I know that you can do Dir.entries('.', {:encoding => 'utf-8'}) and it works properly, but I can't find any way to force the encoding when doing Find.find. On Windows, the first method correctly reads a filename of 舦舨.txt, and doing File.file? on the value returns true. However, doing Find.find returns ??.txt, even though ruby says its encoding is utf-8. Also, File.file? returns false.

Is there no way to set the encoding on Find.find?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九歌凝 2024-10-18 20:25:04

而不是

Find.find(dir)

我找到了

Find.find(dir.encode('utf-8'))

作品

Instead of

Find.find(dir)

I found

Find.find(dir.encode('utf-8'))

works

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文