Niektoré aplikácie, (najmä tie, ktoré sú internetové) musia zaoberať údaje s kódovaním Unicode, ktorý je kódovaný kódovania metóda UTF-8. SQL Server 7.0 a SQL Server 2000 použiť rôzne kódovanie Unicode (UCS-2) a nerozpoznávajú UTF-8 ako platné znakových údajov. Tento článok popisuje niektoré možnosti na riešenie tejto situácie.
Môžu byť zakódované údaje s kódovaním Unicode v mnohých rôznymi spôsobmi. UCS-2 a UTF-8 dvoma spôsobmi spoločnej ukladať bitové vzory, ktoré predstavujú znaky Unicode. Systém Microsoft Windows NT, SQL Server, Java, COM, a ovládača SQL Server ODBC a OLEDB poskytovateľ všetkých vnútorne predstavujú údaje s kódovaním Unicode ako UCS-2.
Možnosti pre pomocou SQL Server 7.0 alebo SQL Server 2000 ako backend server pre aplikáciu, ktorá odosiela a prijíma údaje s kódovaním Unicode, ktorý je kódovaný ako UTF-8 zahŕňajú:
Ak používate Internet Information Server (IIS) 5.0 a Microsoft Windows 2000, vaša aplikácia používa stránky ASP (Active Server), môžete pridať "< % Session.Codepage=65001% >" na váš server-bočné ASP skript. Tento pokyn IIS previesť všetky dynamicky generované reťazce (príklad: Response.Write) z UCS-2 na UTF-8 automaticky pred ich odoslaním klienta.
Ak nechcete umožniť relácie, prípadne môžete použiť server-bočné smernice "< % @ CodePage = 65001% >".
Akékoľvek UTF-8 údaje odoslané z klienta na server pomocou GET alebo POST je tiež prevedený na UCS-2 automaticky. Vlastnosť Session.Codepage je Odporúčaná metóda zvládnuť UTF-8 údajov v rámci webovej aplikácie. Toto nastavenie kódovej stránky nie je k dispozícii na IIS 4.0 a Windows NT 4.0. Pre ďalšie informácie pozri článok v databáze Microsoft Knowledge Base:
Vysokej úrovni Popis algoritmu na konverziu UCS-2 na UTF-8 možno nájsť v dokumente Internet požiadať pre komentáre RFC2279.
V systéme Windows NT alebo Windows 2000, môžete použiť funkcie Win32 MultiByteToWideChar a WideCharToMultiByte konvertovať UTF-8 z UCS-2 a zadan?m konštantný CP_UTF8 (65001) ako prvý parameter funkcií.
Upraviť uplatňovanie UCS-2 namiesto používať kódovanie UTF-8.
Na server pomocou stĺpcov BINÁRNE, VARBINÁRNE a obrázok uložiť skutočné údaje UTF-8. Ukladanie údajov UTF-8 na serveri SQL znamená, že môžete používať SQL Server nie zoradiť alebo nájsť rozsahy týchto hodnôt, ako keby sa údaje boli platné znakových údajov. Typy operácií na stĺpce obsahujúce údaje UTF-8, ktoré by nevráti očakávané výsledky zahŕňajú "objednávku", väčší-ako ">" a menej-ako "<" comparisons,="" and="" the="" built-in="" sql="" server="" string="" manipulation="" functions="" such="" as=""></">
Rovnosť porovnania, však bude fungovať tak dlho, ako reťazce v porovnaní sú rovnocenné úrovni bajt. Všimnite si, že ak budete ukladať údaje UTF-8 v SQL Server by ste nemali používať stĺpce character (CHAR, NCHAR a VARCHAR a podobne). UTF-8 nie je platný znak údajov na server SQL Server, a ukladanie-znakový údajov v znakových stĺpcoch riskujete, že čelia problémom, ako otázky diskutované v nasledujúcich článkoch databázy Microsoft Knowledge Base:
PRB: Ovládača ODBC SQL Server konvertuje jazyk udalosti Unicode
Ak uvažujete táto voľba, majte na pamäti, že ak ste niekedy potrebovali na prístup k údajom UTF-8 uložené vo vnútri SQL Server z ľubovoľnej aplikácie iné ako webového prehľadávača (napríklad z založená webová aplikácia ODBC) budete musieť urobiť konverziu z UTF-8 UCS-2 v rámci tejto aplikácie ako ODBC, OLEDB, COM, rozhranie API systému Win32 hovorov, VB a c runtime reťazec manipulácia funkcie nebudú pracovať s údajmi UTF-8. Dôkazné bremeno, preklad sa presunie na inú aplikáciu.
Ak vaše požiadavky nezahŕňajú potrebu uloženia údajov z kombináciu z jazykov, ktoré nemožno uspokojiť jednotného kódovou stránkou, nie musíte používať kódovanie Unicode.
Podpora Unicode bol zavedený na server SQL Server, počnúc SQL Server 7.0. Pretože SQL Server 6.5 nepodporuje ukladanie údaje s kódovaním Unicode, len možnosti pre SQL Server 6.5 sú načrtnuté v kroky 4 a 5.
ID článku: 232580 - Posledná kontrola: 23. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
Microsoft SQL Server 2000 Standard Edition
Microsoft SQL Server 6.5 Standard Edition
Microsoft SQL Server 7.0 Standard Edition
Microsoft SQL Server 2005 Standard Edition
Microsoft SQL Server 2005 Express Edition
Microsoft SQL Server 2005 Express Edition
Microsoft SQL 2005 Server Enterprise
Microsoft SQL 2005 Server Workgroup
Kľúčové slová:
kbinfo kbmt KB232580 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:232580