This took way too long to figure out, hopefully this will help someone else. If you have a mystery space occurring somewhere in your web site and it is not one of the many CSS bugs out there then the byte order mark might be the culprit. Here’s a quote taken from the Joomla forums:
Yes, “” is the Byte Order Mark (BOM) of the Unicode Standard. Specifically it is the hex bytes EF BB BF, which form the UTF-8 representation of the BOM, misinterpreted as ISO 8859/1 text instead of UTF-8.
Probably what it means is that you are using a text editor that is saving files in UTF-8 with the BOM, when it should be saving without the BOM. It could be PHP files that have the BOM, in which case they’d appear as literal text on your page. Or it could be translated text you pasted into Joomla! edit windows.
The Unicode Consortium’s FAQ on the Byte Order Mark is at http://www.unicode.org/faq/utf_bom.html#BOM .
The remedy is to find the offending file, open in notepad, select Save AS, select ‘ANSI’ from the ‘Encoding’ drop down then re-upload to your site.
To find the problem file, you can probably narrow it down to one of the last files you edited before the problem started occurring.
If not, this shell command can help you find it on the server. Login to your server using SSH. This may or may not be enabled on your hosting account. Please check with your host if you are not sure. If you don’t know how to connect using SSH, search for Putty which is an easy to use SSH client. Once your are able to login, run this command (type in after the prompt you receive when logging in)
grep -rl $’\xEF\xBB\xBF’ /home/username/public_html
Where /home/username/public_html is the path to the directory you’d like to search. You might need to ech o $_SERVER['DOCUMENT_ROOT'] in a php file to find the full machine path to your directory.
Once you enter and run the command, it will display the file(s) that contain the BOM. Save these as described above and re-upload. That should solve your problem. Hope this helps!