in reply to Handling caps for surnames with capitals in the middle (was: Irish Surnames)
Maybe try building an array with prefixes and then check if surname begins with one of those prefixes. Yes - upcase the nex letter (hmmm - strip prefix, ucfirst, add prefix at the beginning or something); No - ucfirst (if needed).
Greetz, Tom.