I wrote this method
def self.normalize_for_sorting(s)
return nil unless s
norm = s.downcase
norm.tr!('ÁÉÍÓÚ', 'aeiou')
norm.tr!('ÀÈÌÒÙ', 'aeiou')
norm.tr!('ÄËÏÖÜ', 'aeiou')
norm.tr!('ÂÊÎÔÛ', 'aeiou')
norm.tr!('áéíóú', 'aeiou')
norm.tr!('àèìòù', 'aeiou')
norm.tr!('äëïöü', 'aeiou')
norm.tr!('âêîôû', 'aeiou')
norm
end
to normalize strings for sorting. This script is UTF-8, everything is UTF-8 in my application, $KCODE is 'u'.
But it does not work, examples:
Andrés -> andruos
López -> luupez
Pérez -> puorez
I tried to "force" it with Iconv.conv('UTF-8', 'ASCII', 'aeiou') to no avail. Any ideas?
-- fxn