Ответ 1
Вы пытались добавить волшебный комментарий в script, где вы используете символы, отличные от ASCII? Он должен располагаться поверх script.
#!/bin/env ruby
# encoding: utf-8
Это работало для меня как шарм.
Я использую Ruby 1.9.1 с Rails 2.3.4 Мое приложение предназначено для обработки ввода текста
Если я попробую что-то вроде (внутренние кавычки выглядят иначе)
text = """"
Я получаю следующую ошибку:
#<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
Мне нужно указать эти кавычки, поскольку пользователи могут вводить их, и я должен учитывать это?
Любые идеи?
Вы пытались добавить волшебный комментарий в script, где вы используете символы, отличные от ASCII? Он должен располагаться поверх script.
#!/bin/env ruby
# encoding: utf-8
Это работало для меня как шарм.
Если вы хотите легко добавить магические комментарии к всем исходным файлам проекта, вы можете использовать magic_encoding
gem
sudo gem install magic_encoding
затем просто вызовите magic_encoding
в терминале из корня вашего приложения.
Я просто хочу добавить свое решение:
Я использую немецкие умлауты, например ö, ü, ä, и получил ту же ошибку.
@Джарек Змудзинский просто рассказал вам, как это работает, но вот мое:
Добавьте этот код в начало своего контроллера: # encoding: UTF-8
(например, использовать флэш-сообщение с умляутами)
пример моего контроллера:
# encoding: UTF-8
class UserController < ApplicationController
Теперь вы можете использовать ö, ä, ü, ß, "" и т.д.
Эти наклонные двойные кавычки не являются символами ASCII. Сообщение об ошибке вводит в заблуждение относительно того, что они являются "несколькими байтами".
Просто обратите внимание, что с Ruby 2.0 нет необходимости добавлять # encoding: utf-8
. UTF-8 автоматически определяется.
Это сработало для меня:
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8