【问题标题】:Chinese writing when writing to files?写入文件时写中文?
【发布时间】:2011-05-22 14:30:27
【问题描述】:

使用 Ruby 和 Windows Vista,我有时会得到看起来像中文书写的东西——尤其是在写入 HTML 文件时。 有人知道这是什么原因吗?有没有人可以解决这个问题?

【问题讨论】:

  • 听起来像是编码问题...你有样本吗?
  • 不,我没有任何示例,但是使用 w+ r r+ a ab 的各种模式并使用 pos = 和 .insert 以及从流行的 Ruby 书籍中获取的一些非常基本的文件写入会发生这种情况。我没有
  • 您没有遇到Bush hid the facts mojibake 问题吗?

标签: ruby windows encoding internationalization


【解决方案1】:

(假设这些是 UTF-8 文件)。 在 UTF-8 中,一个字符最多可以占用 6 个字节。如果使用 pos= 插入文本的目标是多字节字符的中间,则文档的其余部分将是垃圾。

如果您定位的位置包含以 10 开头的字节,则您在 middle of a char

【讨论】:

  • 补充:如果是这种情况,解决方案是切换到 ruby​​ 1.9 并使用基于字符的方法而不是基于字节的方法。但由于 OP 没有提供要做什么,我们无法提供任何进一步的建议。
  • 这可能是答案 steenslag 但我也写入了空文件并且有垃圾。一个
猜你喜欢
  • 2016-01-30
  • 2012-10-11
  • 2012-10-27
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
相关资源
最近更新 更多