I have an UTF-8 board.
1. Edit /include/dblayer/common_db.php, put this line at the end of the file, just afer:
$db = new DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $p_connect);
$db->query("SET NAMES 'UTF8'");
This will make sure that mysql-connection handles everhing as UTF-8.
If you are running MySQL >= 4.1 edit search_words table in the database so that field "word" is varbinary, not varchar. Also check that all your collations are set to UTF-8. If you are running MySQL < 4.1 everything is fine.
And finaly change your language common.php to declare the proper code page to be inserted into <head></head>
lang_encoding' => 'utf-8'
Maybe we could also send UTF-8 header to the client so that this META code page stuff isn't really necessary?
Also, don't forget to edit all of your language files so that they are saved as UTF-8. This really doesn't matter if you use english lanugage, because iso-8859-1 characters are the same in utf-8. But if you use something else then you have to do this. For example I had a croatian translation with code page win-1250 and I had to open every file and change it's encoding for everything to work well.
Most users don't use language specific characters for the username, because if you find yourself abroad and try to login to the board there are big chances that you won't find appropriate characters on the keyboad
- Croatian forum only, don't bother if you don't speak Croatian :)