Rails 2.3.4에서 Ruby 1.9.1을 사용하고 있습니다. 애플리케이션은 텍스트 입력을 처리하는 것입니다.
같은 것을 시도하면 (내부 인용 부호가 다르게 보입니다)
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: utf-8
그것은 매력처럼 나를 위해 일했습니다.
답변
프로젝트의 모든 소스 파일에 마법의 주석을 쉽게 추가하려면 magic_encoding
gem을 사용할 수 있습니다
sudo gem install magic_encoding
그런 다음 magic_encoding
앱의 루트에서 터미널을 호출 하십시오.
답변
방금 솔루션을 추가하고 싶습니다 :
ö, ü, ä와 같은 독일어 움라우트를 사용하고 동일한 오류가 발생했습니다.
@Jarek Zmudzinski가 방금 작동 방식을 알려 주었지만 여기 있습니다.
컨트롤러 상단에이 코드를 추가하십시오 # encoding: UTF-8
(예 : 움라우트와 함께 플래시 메시지 사용)
내 컨트롤러의 예 :
# encoding: UTF-8
class UserController < ApplicationController
이제 ö, ä, ü, ß, “”등을 사용할 수 있습니다.
답변
기울어 진 큰 따옴표는 ASCII 문자가 아닙니다. 오류 메시지는 ‘멀티 바이트’라는 오해의 소지가 있습니다.
답변
루비 2.0부터는 추가 할 필요가 없습니다 # encoding: utf-8
. UTF-8이 자동으로 감지됩니다.
답변
그것은 나를 위해 일했다 :
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8