相关疑难解决方法(0)

使用Rails和Ruby 1.9的无效多字节字符(US-ASCII)

我正在使用Ruby 1.9.1和Rails 2.3.4我的应用程序是处理文本输入

如果我尝试类似的东西(内部引号看起来不同)

text = "”“"
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

#<SyntaxError: /Users/tammam56/rubydev/favquote/lib/daemons/twitter_quotes_fetch.rb:54: invalid multibyte char (US-ASCII)
/Users/tammam56/rubydev/favquote/lib/daemons/twitter_quotes_fetch.rb:54: invalid multibyte char (US-ASCII)
/Users/tammam56/rubydev/favquote/lib/daemons/twitter_quotes_fetch.rb:54: syntax error, unexpected $end, expecting keyword_end
Run Code Online (Sandbox Code Playgroud)

我需要使用这些引号,因为用户可能会输入它们,我必须考虑到这一点?

有任何想法吗?

ruby-on-rails ruby-1.9

197
推荐指数
6
解决办法
10万
查看次数

Ruby 1.9 - 无效的多字节字符(US-ASCII)

我试图让我的rails应用程序(2.3.5)在Ruby 1.9上运行,我有这个函数在字符串上进行一些转换:

def replace_special_chars(downcase = true)
if downcase 
  string = self.downcase
else
  string = self
end
string.gsub! /á|ã|à|ä|â/, 'a'
string.gsub! /é|è|ë|ê/, 'e'
string.gsub! /í|ì|ï|î/, 'i'
string.gsub! /ó|õ|ò|ô|ö/, 'o'
string.gsub! /ú|ù|ü|û/, 'u'
string.gsub! /ç/, 'c'
string.gsub! /&/, 'e'
string.gsub! /\s/, '-'
string.gsub! /[^a-zA-Z_0-9-]/, ''
string.gsub! /-(-)+/, '-'
string
end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试启动服务器时,我收到了这个错误:

<internal:lib/rubygems/custom_require>:29:in `require':   
/Users/.../lib/nzn_string.rb:11: invalid multibyte char (US-ASCII) (SyntaxError)
/Users/.../lib/nzn_string.rb:11: invalid multibyte char (US-ASCII) 
/Users/.../lib/nzn_string.rb:11: syntax error, unexpected $end, expecting keyword_end
string.gsub! /á|ã|à|ä|â/, 'a'
                ^
Run Code Online (Sandbox Code Playgroud)

来自:29:在`require'

在ruby 1.9上执行此操作的正确方法是什么?我不知道我在这里失踪了什么

ruby ascii ruby-on-rails-3

46
推荐指数
1
解决办法
3万
查看次数

在Rails 3中解决无效多字节字符(US-ASCII)的全局设置

我的问题是与Rails 3无效的多字节字符(US-ASCII)相似

解决方案,在那里提供确实有效,但我发现这有点愚蠢,包括注释#编码:UTF-8到每个使用非ASCII字符的文件.

在config/application.rb中,我有以下选项:

# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"
Run Code Online (Sandbox Code Playgroud)

但是,它没有帮助.

也许,针对此类情况提供了一些其他全局配置选项?

configuration character-encoding ruby-on-rails-3

9
推荐指数
1
解决办法
3865
查看次数

Rails 控制台 UTF-8 格式的字节序列无效(ArgumentError)

我正在 rbenv 管理下运行 ruby​​ 2.0.0p247、rails 4.0.1。当我第一次尝试启动 Rails Console 时,出现错误,未找到 readline。我安装了 rb-readline gem 并添加到 gemfile 中,如下所示gem 'rb-readline', '0.4.2'。Adter 捆绑更新控制台变得能够运行。但是,当我按向上箭头调用上一个命令时,控制台崩溃并出现以下错误:

/home/clergyman/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in `_rl_dispatch_subseq 中的块' :UTF->8 中的无效字节序列(ArgumentError)

一个常见的解决方案是尝试使用 0.5.0 等更高版本的 'rb-readline' gem,但是如果以这种方式更改 gem 版本,我什至无法启动控制台,它会崩溃,就好像未安装 readline 一样。

我知道这里有很多类似的问题,但到目前为止我的 Rails/Ruby 配置还没有成功。我将不胜感激任何帮助,提前致谢!在参考其他类似问题之前,请先关注 ruby​​/rails 版本。

rubygems ruby-on-rails rbenv

5
推荐指数
1
解决办法
1639
查看次数

rake db:i18n数据的种子

我正在运行rake db:seed来填充数据库中的i18n数据,但它无法识别i18n字符.我得到的错误是 -

耙子流产了!

$ HOME/db/seeds.rb:9:无效的多字节字符(US-ASCII)

$ HOME/db/seeds.rb:9:无效的多字节字符(US-ASCII)

$ HOME/db/seeds.rb:9:语法错误,意外$ end,期待'}'

在调用rake之前,是否需要将本机语言字符串转换为UTF-8字符?

rake

2
推荐指数
1
解决办法
1126
查看次数