This CiviCRM extension normalizes your data before it is saved to the database. It therefore works from the back-end, with public form submissions such as profiles, contribution, event registration and membership creation/renewal pages as well as with data imports.
It can normalize first, middle, last and company names, phone numbers, and addresses including zip codes.
It is configurable so you have the choice between multiple options for normalizing (ie. all caps, first cap then lower case, etc), and recognizes special cases, local names and abbreviations for a number of countries/languages.