Yeah, you read that right. To re-iterate: if you want to code a site and expect it to load even semi-reasonably in Internet Explorer 6 or 7, you probably don’t want to write it or even touch it in Microsoft’s Expression Web Designer. At any rate, not this version of Expression.
Expression Web Designer is very Web 2.0 compatible. It’s the only really big HTML interface that validates directly against the W3C standards, by default checking page-display compatiblity against CSS 2.1, instead of against FF, IE6, or something. It does a very good job at that too, but unfortunately, it’s far ahead of Microsoft’s time.
When you write a page in “UTF-8” encoding, Expression Web Designer sometimes takes it to its head to write something called the BOM, which is a tiny, little, useless unicode character inserted into the code to prove something.
The only problem is, Internet Explorer 6 & 7 both fall under W3C’s so-called ‘older browsers’ list, and hence, don’t support the BOM at all. What you end up with is Internet Explorer incorrectly displaying php/ssi includes, and a bunch of unexpected HTML display errors will crop up in Internet Explorer but not any of the other browsers.
The code with such includes is exactly the same as if it wasn’t pieced together server-side, but for the presence of this BOM character that skews the code to hell. If you have some weird errors when dealing with server-side includes in Internet Explorer that don’t show up in any other browser on any other platform – this is your man.
To fix it you have to manually open all pages ‘pieced-together’ by php or whatever SSI you use in Notepad, and then proceed to save them as “ANSI” files instead of unicode.. Then get back to work.