Я использую 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
Мне нужно использовать эти кавычки, поскольку пользователи могут их вводить, и я должен это учитывать?
Любые идеи?
Ответы:
Вы пытались добавить магический комментарий в сценарий, где вы используете символы не ASCII? Это должно идти поверх сценария.
Это сработало для меня как шарм.
источник
#!/bin/env ruby
не требуется, если вы не запускаете скрипт из командной строки как исполняемый файл.# encoding
Линия работает сам по себе.# encoding: utf-8
, Уже конец 2013 года, и мы все еще должны играть в эту игру. Держись, телефон звонит ... Это был 2033, они позвонили, чтобы сказать, что они все еще играют. Ну что ж, спасибо, что напомнили мне, Ярек Змудзински из 2010 года.Если вы хотите легко добавить волшебные комментарии ко всем исходным файлам проекта, вы можете использовать
magic_encoding
гемзатем просто позвоните
magic_encoding
в терминал из корня вашего приложения.источник
magic_encoding
это просто инструмент командной строки, а не зависимость проекта.Я просто хочу добавить свое решение:
я использую немецкие умлауты, такие как ö, ü, ä, и получаю ту же ошибку.
@Jarek Zmudzinski только что рассказал вам, как это работает, но вот мое:
Добавьте этот код в верхней части вашего контроллера:
# encoding: UTF-8
(например, чтобы использовать флэш-сообщение с Umlauts)
пример моего контроллера:
Теперь вы можете использовать ö, ä, ü, ß, "" и т. Д.
источник
Эти наклонные двойные кавычки не являются символами ASCII. Сообщение об ошибке вводит в заблуждение о том, что они являются «многобайтовыми».
источник
Просто обратите внимание, что с Ruby 2.0 нет необходимости добавлять
# encoding: utf-8
. UTF-8 определяется автоматически.источник
Это сработало для меня:
источник