In SQL Server 2005 versions up to the June CTP, the XML parser on the server-side defaulted to UTF-16 for documents without a leading byte-order mark and without an explicit encoding in the XML declaration. Since this was incompatible with the XML standard that defaults to UTF-8, we had reports of bugs where UTF-8 documents loaded through ADO.Net and SNCLI either got rejected – or worse – got accepted but stored wrongly since they were interpreted as UTF-16 encoded documents instead.
We have fixed this in the September CTP. The fixes(described below) unfortunately can lead to problems if you use SNCLI or ADO.Net versions that will be older than the version shipping with the September CTP and there are a few minor cases, where documents may be consumed differently and it may affect how you are dealing with XML documents returned from the server if you use certain client-side bindings using SNCLI. If you think you may be affected, please check out the list of fixes and possible impacts. Especially, if you think that you cannot upgrade the client components at the same time as the server.