Rails utf-8 问题

2023-12-27

我在那里,我是 ruby​​ (和 Rails)的新手,并且在字符串中使用瑞典语字母时遇到一些问题。在我的操作中,创建一个如下所示的实例变量:

@title = "Välkommen"

我收到以下错误:

invalid multibyte char (US-ASCII)
syntax error, unexpected $end, expecting keyword_end
@title = "Välkommen"
             ^

发生了什么?

EDIT:如果我添加:

# coding: utf-8

在我的控制器顶部它可以工作。这是为什么?我该如何解决这个“问题”?


参见 Joel spolsky 的文章“每个软件开发人员绝对必须了解 Unicode 和字符集的绝对最低限度(没有任何借口!) http://www.joelonsoftware.com/articles/Unicode.html".

引用简洁回答这个问题的部分

关于编码的最重要的事实

如果你完全忘记了我刚才解释的一切,请记住 一个极其重要的事实。拥有字符串是没有意义的 不知道它使用什么编码。你不能再坚持你的 把头埋在沙子里,假装“纯”文本是 ASCII。

这就是为什么您必须告诉 ruby​​ 文件中使用什么编码。由于编码未在与您的文件关联的某种元数据中标记,因此某些软件假定为 ASCII,直到它知道得更好为止。 Ruby 1.9 可能会这样做,直到您发表评论时它才会停止,并重新开始读取文件,现在将其解码为 utf-8。

显然,如果您对 ruby​​ 文件使用了其他 Unicode 编码或更多本地编码,则需要更改注释以指示正确的编码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails utf-8 问题 的相关文章

随机推荐