"Correctly" will mean different things for different problems. This list gives you things to consider so you can make the right choice for your application.
These are apparently not true, so I guess that "a Unicode field in a database" is not the correct answer for my application. So what is? As far as I can tell, patio11's position is that people should simply not gather names, which is an unreasonable position.
No, seriously, this is a bad link, it's got no advice, and it's not helpful.
Here's some serious advice: Put a field in your database, make it Unicode, bound it according to your DBA's advice on how much space you have to spare. A couple thousand code points should be plenty. Then give your users a single field called "Name" and have it accept up to a couple thousand Unicode points. Done.