Posted: Tue Nov 14, 2006 9:01 am
If BOMs and session_start really are the problem, then it's not browser related.
A BOM-aware program will not consider the 2 to 4 bytes of the BOM as contents, therefore you haven't seen them in your texteditor.
If the program, like php, is unaware of BOMs it has to use those characters as contents. php sends contents outside a php block as-is to the client. So the first thing php does with a BOMed file is to send the BOM characters to the http client. After the first byte of contents is sent to the client no more http headers can be sent (that's a limitation of the http protocoll), i.e. no header at all for a BOMed file unless an output buffer is defined for php.
A BOM-aware program will not consider the 2 to 4 bytes of the BOM as contents, therefore you haven't seen them in your texteditor.
If the program, like php, is unaware of BOMs it has to use those characters as contents. php sends contents outside a php block as-is to the client. So the first thing php does with a BOMed file is to send the BOM characters to the http client. After the first byte of contents is sent to the client no more http headers can be sent (that's a limitation of the http protocoll), i.e. no header at all for a BOMed file unless an output buffer is defined for php.