Im cố gắng để làm cho ứng dụng đường ray của tôi (2.3.5) để chạy trên Ruby 1.9, tôi đã chức năng này mà làm cho một số biến đổi trên một chuỗi:của Ruby 1.9 - không hợp lệ multibyte char (US-ASCII)
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
Nhưng khi tôi cố gắng để khởi động server, tôi đã nhận lỗi này:
<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'
^
từ: 29: trong `require'
đúng cách để làm điều này trên ruby 1.9 là gì? Tôi không biết mình thiếu gì ở đây
thể trùng lặp của [không hợp lệ multibyte char (US-ASCII) với Ruby on Rails] (http://stackoverflow.com/questions/1739836/invalid-multibyte-char-us-ascii-with-ruby-on-rails) – meagar
Liên kết này hữu ích và nó phù hợp với tôi [Stackoverflow câu trả lời] http://stackoverflow.com/questions/3916931/rails-3-invalid-multibyte-char-us-ascii?s=bed697c0-32eb-47d0-a22a-3b85ee418b0f#new-answer –