RoR Zeichenklasse Regex

8

Ich habe die folgende Codezeile in meiner Ruby on Rails-App, die überprüft, ob die angegebene Zeichenfolge koreanische Zeichen enthält oder nicht:

%Vor%

Es funktioniert perfekt in der Konsole, löst aber einen Syntaxfehler für die eigentliche App aus:

%Vor%

Was vermisse ich und wie kann ich es zum Laufen bringen?

    
Arnold 18.03.2012, 04:19
quelle

1 Antwort

13

Dies ist ein Zeichencodierungsproblem, das Sie hinzufügen müssen:

%Vor%

an den Anfang der Ruby-Datei, in der Sie diese Regex verwenden. Sie können wahrscheinlich jede Kodierung verwenden, die die von Ihnen verwendete Zeichenklasse anstelle von UTF-8 verwendet. Beachten Sie, dass in Ruby 2.0 UTF-8 jetzt der Standard ist, daher wird dies in Ruby 2.0 + nicht benötigt.

Dies wird als "magischer Kommentar" bezeichnet. Sie können und sollten mehr über Codierung in Ruby 1.9 lesen. Beachten Sie, dass die Codierung in Rails-Ansichten automatisch von config.encoding (standardmäßig auf UTF-8 in config/application.rb festgelegt) erfolgt.

Es hat wahrscheinlich in der Konsole funktioniert, weil Ihr Terminal bereits auf UTF-8 eingestellt ist.

    
Andrew Marshall 18.03.2012, 04:27
quelle

Tags und Links