Unicode ile XML verileri kullanma
SQL Server UTF-16 kodlama düzeni kullanarak XML verilerini depolar.UTF-16 veri değişken genişlik olduğundan, bu bayt yönelimli bir iletişim kuralına göre işlenir.Bunun anlamı, farklı bilgisayarlarda (büyük endian little endian) sipariş bayt bağımsız bir şekilde UTF-16 veri ele alınabilir.Bu nedenle, UTF-16 farklı kodlamalar ve byte-sipariş sistemlerini, farklı bilgisayarlara geçiş yapma için uygun olur.XML verileri genellikle geniş ağlar arasında paylaşılan olduğundan, XML verilerinin ve veritabanınızdaki istemcilerine XML verileri verdiğinizde varsayılan UTF-16 depolama korumak için anlamlıdır.
Farklı bir kodlama belirtmelisiniz, FOR XML istekleri kullanır ve aşağıdakileri belirtin:
The Output Encoding özellik of an XML-formatted data stream Response object in Active Server Pages (ASP).
Örneğin, aşağıdaki ASP kodu, gelen bir XML veri akışını görüntülemek için tarayıcı bildirir. UCS-2:
<% cmdXML.Properties("Output Encoding") = "UCS-2" %>
HTTP isteğinden yaptığınızda bir çıktı bir URL kodlama.
Aşağıdaki örnek belirtir. UCS-2 çıktı olarak XML belgesinin kodlama, bu istekle döndürdü:
http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&outputencoding=UCS-2
Bir çıktı bir XML şablonu veya stil sayfasında kodlama.
Aşağıdaki örnek belirtir. UCS-2 Çıktı bu XML şablonu belgesi başlığında kodlama olarak:
<?xml version ='1.0' encoding='UCS-2'?> <root xmlns:sql='urn:schemas-microsoft-com:xml-sql' sql:xsl='MyXSL.xsl'> <sql:query> SELECT FirstName, LastName FROM Employees FOR XML AUTO </sql:query> </root>
Doğrudan bir XSL stil sayfası içinde bir kodlama belirtilmezse, kodlama ne olursa olsun şablonda belirtilen kılar olduğunu unutmayın.Ancak, her ikisi tarafından geçersiz kılınır Çıkış kodlaması özellik ASP sayfasında belirtilen.
OPENXML kullanarak bir SQL Server veritabanına veri eklediğinizde, birden çok dildeki verileri ortaya çıkabilecek satır kümesi herhangi bir yeri olarak Unicode veri türlerini belirtmelisiniz.Bu karakter Bozulması en aza.