Thanks for the explanation, Isaac.

The post above was for the test system (we have a test version of the live system that we do upgrade and change testing on). The conversion of the live system went ahead relatively fine and didn't require the change the test system had. I might have messed something up on the test system conversion, so I'm going to do that again (from scratch) to see if I did something wrong.

My database was originally built with ISO Latin 1 and collation sequence latin1_general_ci.

I don't have PhpMyAdmin installed, so for reference, my upgrade process was:-
  1. Close the board
  2. Back up existing site (as a ZIP archive) and database (via mysqldump) - this is to allow a rollback
  3. Upgrade UBB as per instructions
  4. Test UBB upgrade (login, control panel, reading/creating/editing posts, etc.)
  5. Back up the database again - this time to convert
    Code
    mysqldump -u <username> -p <password> <database> --add-drop-table > dump1.sql
    
  6. Manually convert the dump by replacing the "latin1" in the following strings with "utf8" in the dump1.sql file:-
    • CHARSET=latin1
    • COLLATE=latin1_general_ci
    • CHARACTER SET latin1
    • COLLATE latin1_general_ci
  7. Restore the database from the converted dump - this recreated the tables with the correct collation sequence, and character encoding
    Code
    mysql -u <username> -p <password> <database> --default-character-set=utf8 < dump1.sql
    
  8. Login to UBB control panel and clear the UBB cache to make sure that all content is rebuilt
  9. Retest UBB (control panel, reading/creating/editing posts, etc.) to make sure that everything is OK
  10. Open the board

The last two strings are for custom tables we've added in order to support some custom islands we have. (If anyone else is going to use this sequence, change your strings according to the character set and collation sequence your database has.)