Change in IE's default ajax headers to prevent encoding problems

There are a problem that arise from a difference in the HTTP headers sent to the server.

In firefox, an ajax request generates this header:

content-type: application/x-www-form-urlencoded; charset=UTF-8

In IE we have this:

content-type: application/x-www-form-urlencoded

There are already some reports about encoding problems when using ajax, specially in Internet Explorer. Tickets #3611 (and the duplicates #4315 and #4408) are related to this, however they are about the serialization of the data, not about the headers. Ticket #4855 may be related too, but is a different issue.

So, I think that we should have, at least by default, to add the missing "; charset=UTF-8" in the content-type header of the IE's XMLHttpRequest. This would reduce encoding problems encountered by developers and users giving the possibility of more and better solutions and workarounds for the remanescent ones. This plays better with jQuery compatibility between different browsers too.

Firefox is the only browser that appends a charset to the header. Your application should assume content without an explicit character set is being transmitted as UTF-8. Alternatively, use the contentType option of the ajax settings object to force the charset yourself.