Ich integriere ein paar externe Dienste, bei denen ich eine Datei über http herunterlade. Ich muss die Dateinamen konvertieren/bereinigen, bevor ich sie in meinem System verwenden kann. So habe ich Dinge wie diese in verschiedenen Teilen des Codes:
name = name.encode('UTF-8', 'ASCII-8BIT', invalid: :replace, undef: :replace, replace: '')
name = name.encode('UTF-8', 'ISO-8859-1', invalid: :replace, undef: :replace, replace: '')
In jedem Fall musste ich den Dienst fragen, welche Kodierung ich zu erwarten hatte.
Ist dies der einzige Weg, um dies zu gehen, oder gibt es eine Art von mehr Standard und generische Weise eine eingehende Zeichenfolge zu bereinigen?