Updaten zorgt ervoor dat we het allemaal over (precies) dezelfde software hebben. Hoe onwaarschijnlijk het ook lijkt dat iets samenhangt met een bug die is opgelost in een nieuwere versie, het kan altijd. Daarnaast kunnen oplossingen subtiel verschillen tussen versies.
Het probleem is inderdaad een encoding probleem met de database, mogelijk geïntroduceerd bij het inlezen van de database dump van de vorige host op de nieuwe. De karakters die je ziet, bijvoorbeeld ë, is een typisch kenmerk van UTF-8 gecodeerde speciale karakters (die in UTF-8 als twee bytes worden gecodeerd) die worden weergegeven in een encoding die karakters alleen als een enkele byte coderen, zoals ISO-8859-1. De twee afzonderlijke bytes voor het UTF-8 karakter worden daarom weergegeven als het karakter dat ze "toevallig" in die andere encoding aanduiden. Ga je bijvoorbeeld kijken naar de byte-waardes van ë in ISO-8859-1, dan zie je dat dat (hexadecimaal) C3 en AB zijn. Laat C3 AB nou net de twee bytes zijn die UTF-8 gebruikt om ë te coderen
Vaak zie je het als de PHP-code van de site UTF-8 genereerd, maar de browser de pagina (door een probleem met HTTP headers, bijvoorbeeld) weergeeft alsof het ISO-8859-1 is. (Omgekeerd kan ook, dan genereert de site ISO-codering, terwijl de browser denkt dat het UTF-8 is; het gevolg zijn van die vraagtekentjes in de plaats van speciale karakters).
Het "vervelende" is nu alleen dat jouw site wel aangeeft dat hij UTF-8 is (in je browser na te kijken, in Firefox bijvoorbeeld View > Character Encoding - dat is goed, phpBB3 zou niet anders moeten doen). Dit betekent naar alle waarschijnlijkheid dat er ergens onterecht een encoding-conversie heeft plaatsgevonden, en de meest waarschijnlijke kandidaat daarvoor is bij het inlezen van de database-dump, waarbij je moet meegeven in welke encoding de database dump is; je hebt de dump waarschijnlijk in UTF-8 gemaakt (bijvoorbeeld de standaard van phpMyAdmin als je een export doet), maar bij het inlezen van de dump is de database er vanuit gegaan dat het ISO was, en heeft daarom de karakters nog een keer "geconverteerd" naar UTF-8.
Wat even belangrijk is om te weten, is of dit probleem alleen speelt bij oude posts die van voor de verhuizing stammen, of dat het ook mis gaat voor nieuwe posts.
Hoe kom je hier vanaf? Dit zijn altijd lastige problemen, ik heb laatst met een soortgelijk probleem opgelost door te goochelen met Notepad++ en de encoding-conversie die daarin zit. Het is daarbij wel belangrijk dat je begrijpt wat je doet en het is heel makkelijk om de draad kwijt te raken. Als mijn vermoeden juist is, heb je bovendien het probleem dat je nu al nieuwe berichten in de database hebt zitten die wel goed gecodeerd in de database zitten.