09.21.10
Diario de guerra: Normalizar cadenas en ruby
Me acabo de encontrar que un webmaster gracioso le dio por añadir tildes en las urls de una web que ando scrapeando y son del rollo http://dominio/index.php?cadena=COPÓN. Al hacer un
Nokogiri::HTML(open(url))
me salta un pedazo de invalid url.
Solucion:
Googleando me encontre en http://stackoverflow.com/questions/522715/removing-accents-diacritics-from-string-while-preserving-other-special-chars-tri y di con la solución
url.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, ”).to_s
Que te pilla todos los caracteres y sustituye por su version “buena”. No entiendo mucho de expresiones regulares, pero funciona y tiene style