Ruby on Rails - URL encode, URL decode
Immer wieder sehe ich kleinere Methoden, die das Encoding von Strings mit Hilfe der gsub oder sub Methode lösen…
Es geht aber auch einfacher
require 'cgi'
In die Klasse einbinden und nun folgendes für das encoding verwenden:
@page.url = CGI::escape(<string>)
Um ein decoding durchzuführen sollte man:
CGI::unescape(<string>)
verwenden.
Wenn es Fehler aus den beiden Methoden geben sollte, ist es schlau mal den Zeichensatz zu prüfen. Dieser sollte UTF-8 sein.
Dieser kann mit:
require 'iconv'
return Iconv.conv("zu", "von", "String")
gesetzt werden.
Das ganze sieht dann beispielsweise so aus:
CGI::unescape(Iconv.conv("utf-8", "ISO-8859-1", <string>))
Leave a Reply
You must be logged in to post a comment.