bbPress will create tables using the character set and collation specified in the config.php file. However it won’t change the tables character set or collation if they are already created, as in the case with upgrades like yours.

In fact, once installed, the collation value is not used at all, but the character set value is forced on every connection to the database with “SET NAMES ‘foo'”, where ‘foo’ is the character set (if it is specified).

So if your database is ‘latin1’, and for some reason we don’t address it that way you will get improper character mapping of your data to characters.

So it’s likely that my database was latin1 all along, when created in admin, since I haven’t touched it and the only thing that could have is bbPress’ install or upgrade script? I don’t understand why I didn’t get the problems after install then, since UTF8 was specified in config.php, while getting the problem after the upgrade forced me to change it to latin1 in config.php. Have I stumbled onto a bug, or is it something else?