My best guess would be: t.setHtml("<html> </html>");
I can't actually see anything in the docs (here) as to whether or not it even supports ampersand items. You might want to test some of the others like "&"
or "<"
.
There is mention of support for a nobr
tag so you may be able to get a similar effect with (that's a space between those tags):
QTextEdit t;
t.setHtml("<nobr> </nobr>");
Don't know much about the subject, so take this with a grain of salt, but have you tried one of the unicode variants like  
or  
or  
?
I don't use QT myself, but I have had this problem with some documents generated using XML/XSLT. Using  
took care of the issue for me.
I tested it under Windows XP SP3 x32 using Qt 4.5.0 and it worked as expected. Not sure if it could be a problem with your Windows locales or a x64 specific bug although i doubt it.
I see you've mostly figured this out, but I thought I'd add the "why" of it. The Terminal font is based on code page 437, aka DOS-US. á is in position 160.
There aren't many fonts for code page 437. I think Terminal is the only TrueType one, in fact! At any rate, if you're not explicitly trying to display old school DOS graphics, you shouldn't be using Terminal.
What's code page 437 all about? It's "high ASCII", circa 1981. In addition to the usual 32-127 characters, it includes a few accented letters, box graphic characters to draw borders around things, some mathematical symbols and even symbols for the four suits of cards! But the world moved a different way, so aside from 32-127, even the glyphs that are usually available in other fonts aren't where you'd expect them to be. If you were running an old text-mode MSDOS program in a window, it would be using a code page 437 font.
See "code page 437" (Wikipedia) for more information.