태그 보관물: ruby-1.9

ruby-1.9

Rails 및 Ruby 1.9의 유효하지 않은 멀티 바이트 문자 (US-ASCII) 것을 시도하면 (내부

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_encodinggem을 사용할 수 있습니다

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


답변