You shouldn't use a non-breaking space ( ) there, because there are cases where it may not come out at the same width as a normal space. If you want a regular space you can represent that using   instead.
That said, I'd go with the table method, since font changes within the page stand out and often look weird unless done well.