Using Unicode with XML Data

SQL Server przechowuje dane XML przy użyciu schematu kodowania UTF-16.Ponieważ dane UTF-16 zmiennej szerokość, jest ono przetwarzane zgodnie z protokołem zorientowanym na bajt.Oznacza to, że UTF-16, dane mogą być traktowane w taki sposób, że jest niezależna od kolejności na różnych komputerach (nieco endian i big endian) bajtu.W związku z tym well-suited na przechodzenie przez różne komputery, które należy użyć innego kodowania i systemy kolejności bajtów jest UTF-16.Ponieważ dane XML jest zazwyczaj udostępniony powszechnie w sieciach, warto zachować przechowywanie UTF-16 domyślne dane XML w bazie danych i eksportowania danych XML do klientów.

Należy określić innego kodowania, można użyć żądań FOR XML i ustaw następujące:

  • The Output Encoding właściwość of an XML-formatted data stream Response object in Active Server Pages (ASP).

    Na przykład poniższy kod ASP informuje przeglądarkę, aby wyświetlić przychodzące strumienia danych XML w UCS-2:

    <% cmdXML.Properties("Output Encoding") = "UCS-2" %>
    
  • Dane wyjściowe kodowanie w adresie URL podczas tworzenia żądania HTTP.

    W następującym przykładzie określono UCS-2 jako dane wyjściowe kodowanie dokumentu XML zwrócone przez dane żądanie:

    http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&outputencoding=UCS-2
    
  • Dane wyjściowe kodowanie w arkuszu styl lub szablon XML.

    W następującym przykładzie określono UCS-2 jako dane wyjściowe kodowania w nagłówku tego dokumentu XML szablonu:

    <?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> 
    

Należy zauważyć, że jeżeli określono kodowanie bezpośrednio w arkuszu stylów XSL, zastąpi on niezależnie od kodowania jest określona w szablonie.Jednak obie są zastępowane przez Kodowanie wyjściowe właściwość określone strona ASP.

Przy wstawianiu danych do bazy danych programu SQL Server przy użyciu OPENXML należy określić typy danych standardu Unicode dowolne miejsce w zestawie zestaw wierszy, w którym dane wielojęzyczne mogą być wyświetlane.Spowoduje to zminimalizować uszkodzenie znaków.

See Also

Other Resources