Ich habe Probleme mit Sonderzeichen, wenn ich einen Hash in eine JSON-Zeichenfolge umwandle.to_json konvertiert keine Sonderzeichen in den Unicode-Stil
Alles funktioniert mit Ruby-2.0/Rails 3.2.21 in Ordnung, das heißt,
puts "“".to_json
#"\u201c"
Aber Ruby 2.3.0/Rails 4.2.5.1 I
bekommenputs "“".to_json
#"“"
Gibt es eine Möglichkeit um Ruby 2.3.0 zu zwingen, Sonderzeichen in Unicode Style Strings umzuwandeln (\uXXXX
)?
Bemerkung:
Beachten Sie, dass in Ruby 2.3/Rails 4, erhalten wir
"“".to_json.bytesize == 5 #true
jedoch in 2.0 erhalten wir
"“".to_json.bytesize == 8 #true
So klar ist es der String selbst, das ist anders , nicht verschiedene Ausgabeformate.
Sie vergleichen die Implementierung verschiedener Ruby-Versionen. Würde es Ihnen etwas ausmachen, zu erklären, was das eigentliche Problem ist, das Sie zu lösen versuchen? – mudasobwa
Ich vergleiche was? Dies hat nichts mit verschiedenen Puts-Implementierungen zu tun. Siehe "" .to_json.bytesize == 5 für 2.3 aber "" ".to_json.bytesize == 8 für 2.0 – Ingo