【问题标题】:Ruby on Rails Charset issue: Euro logo turns to ‚ǨRuby on Rails 字符集问题:欧元标志变为“Ǩ”
【发布时间】:2010-11-26 05:16:54
【问题描述】:

我正在使用 Ruby 1.8.7 和 rails 2.3.5

例如,在我的控制器中,我有以下代码:

def test
  send_data "€", :type => 'text/plain;',
                 :filename => 'test.txt'
end 

(示例在mac上)使用TextMate打开文件时,它会正确显示欧元标志,但是当按“空格”按钮或使用TextEdit查看时,该欧元标志显示为‚Ǩ

我应该怎么做才能让它显示为欧元标志?

任何帮助将不胜感激。

谢谢

求助!!

更新

我已经让它在我的本地版本(Mac OSX 机器)上使用:

Iconv.new('MacRoman', 'UTF-8').iconv(currency_code)

但在我的公共 linux 机器上,它返回:

Iconv::InvalidEncoding (invalid encoding ("MacRoman", "UTF-8"))

我想这与我必须在我的 linux 机器上安装 MacRoman 编码有关吗?我该怎么做?

更新 2

我没有找到我期望的答案,所以我们不得不将 TXT 格式更改为 HTML,您可以在其中指定其 UTF-8。

【问题讨论】:

  • 在我看来它工作得很好,只有 TextEdit 使用错误的编码解释文件。

标签: ruby-on-rails character-encoding


【解决方案1】:

TextEdit 使用 MacRoman 而非 UTF-8 来解释文件。所以,不是你的错误。

【讨论】:

  • 谢谢,有没有办法告诉 TextEdit 该文件是 UTF-8 以便它可以以某种方式解释它?
  • 我不知道。我通常坚持 Geany。
  • 但是你可以在 TextEdit 中写 Euro logo 所以如果你不能通过 ruby​​ 代码做到这一点是不可能的
  • 嗨,哦,我想我现在开始明白了,谢谢!想知道您是否可以添加参考如何将输出文件(是否也可以使用字符串?)编码更改为“MacRoman”?
  • 这看起来很有希望,只需将参数反转为.new()ruby-forum.com/topic/49891#15674
【解决方案2】:

来自http://reviews.cnet.com/8301-13727_7-10332226-263.html

转到名为 TextEdit 的菜单。第二项是“首选项”。选择它。打开的窗口有两个选项卡““新建文档”和“打开并保存”。在每种情况下,您都可以更改 TextEdit 的默认设置。

阅读更多:http://reviews.cnet.com/8301-13727_7-10332226-263.html#ixzz172mnmbLl

【讨论】:

  • 我不认为我的应用程序的用户会费心这样做,所以最好的方法是更改​​输出文件的编码,我不知道如何......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
相关资源
最近更新 更多