The Rails Active Support gem provides upcase, downcase, swapcase,capitalize, etc. methods with internationalization support:
gem install activesupport
irb -ractive_support/core_ext/string
“STRING ÁÂÃÀÇÉÊÍÓÔÕÚ”.mb_chars.downcase.to_s
=> “string áâãàçéêíóôõú”
“string áâãàçéêíóôõú”.mb_chars.upcase.to_s
=> “STRING ÁÂÃÀÇÉÊÍÓÔÕÚ”
Performance wise: 10000000 iterations in C#
ToLower(): 1054 ms
ToLowerInvariant(): 1724 ms
ToLower(CultureInfo): 884 ms [fastest]
Don’t think it’s an issue.