PHP is basically ASCII oriented - only a few functions directly refer to a character encoding as a parameter. htmlentities() does for example since it's essential in correctly entitising characters, mbstring does a lot for commonly used string functions, preg/ereg functions also have character encoding support with switches (though you need to specify a language's alpha/alnum range via numeric entities for many languages). Locale functions also manage character encoding for ctype among others.
Basically, anyone allowing multiple languages in an application (fully - i.e for usernames etc.) should be aware of all these. By default with locale still set to default of english, french á, é, etc. characters are not valid alphabetic letters in ctype_alpha() for example unless you switch the locale to "french".
I have lot's of fun since my name is non-english - Pádraic.

Try here -
https://sourceforge.net/users/maugrim_t_r/ - my SF profile. This is a prime case where SF lies. This is not a valid UTF-8 document - it does not display the á character correctly since it is not properly encoded. Probably due to either a PHP string/entity function or something on the database side.
http://blog.quantum-star.com/index.php? ... -them.html
PHP6 will fix a lot of this...