Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Santrauka

Kai kurios programos (ypač tuos, kurie yra interneto) turi susidoroti su Unicode duomenis, kuri yra užkoduota UTF-8 kodavimo metodas. SQL Server 7.0 ir SQL Server 2000 naudoti kitą Unicode kodavimą (UCS-2) ir negali atpažinti UTF-8 kaip tinkamas simbolių duomenys. Šiame straipsnyje aptariami keli variantai, susijusius su šiuo atveju.

Daugiau informacijos

Unicode duomenų gali būti užkoduoti įvairiais būdais. UCS-2 ir UTF-8 dviem būdais bendros laikyti šiek tiek modeliai, kurie yra Unicode simbolių. Microsoft Windows NT, SQL Server, "Java", COM, ir SQL Server ODBC tvarkyklė ir OLEDB teikėjo visų viduje yra Unicode duomenų UCS-2.

SQL Server 7.0 arba SQL Server 2000 naudoti kaip vidinio serverio programos, kurią siunčia ir gauna Unicode duomenis, kuri yra užkoduota UTF-8 pasirinktys:

  1. Jei jūsų programa naudoja aktyviųjų serverio puslapių (ASP) ir jūs naudojate interneto informacijos serverio (IIS) 5.0 ir Microsoft Windows 2000, "< % Session.Codepage=65001 % >" galite įtraukti į savo serverio ASP scenarijų. Tai nurodo, kad IIS konvertuoti visus dinamiškai generuojami eilutes (pvz.: Response.Write) iš UCS-2 ir UTF-8 automatiškai, prieš siunčiant juos į klientą.

    Jei nenorite, kad seansai, taip pat galite naudoti serverio direktyvos "< % @ kodų = 65001 % >".

    Visi UTF-8 duomenys siunčiami iš kliento į serverį GET arba POST taip pat konvertuojami į UCS-2 automatiškai. Session.Codepage yra rekomenduojamas būdas dirbti su UTF-8 duomenų per žiniatinklio taikomąją programą. Šis parametras kodų nėra IIS 4.0 "ir" Windows NT 4.0. Daugiau informacijos ieškokite šioje "Microsoft" žinių bazės straipsnį:

    254313 klaidos pranešimas: aktyvieji serverio puslapiai klaidos "ASP 0203' netinkamas kodas

  2. Išversti į ir iš UCS-2 ir UTF-8 pagal programa. Šio tipo konvertavimo kodo pavyzdys yra Unicode konsorciumo svetainėje:

    ftp://ftp.unicode.org/Public/PROGRAMS/CVTUTF/Aukšto lygio aprašas algoritmas konvertuoti UCS-2 ir UTF-8 galima rasti interneto užklausos komentarų dokumente RFC2279.

    Windows NT ar Windows 2000, galite naudoti funkciją Win32 MultiByteToWideChar ir WideCharToMultiByte konvertuoti UTF-8 ir UCS-2 iš perduoti nuolat CP_UTF8 (65001) kaip pirmąjį parametrą funkcijoms.

  3. Keisti programos naudoti UCS-2, o ne UTF-8 kodavimą.

  4. Tikrasis UTF-8 duomenis saugoti serverio naudojant DVEJETAINIAI/tipai/vaizdo stulpelių. Saugoti UTF-8 duomenų SQL serveryje reiškia, jūs negalite naudoti SQL serverio rūšiuoti arba rasti tam tikrus šias reikšmes, jei duomenys buvo netinkamas simbolis duomenų. Operacijų stulpelių UTF-8 duomenimis, būtų neparodo rezultatų, įtraukite "tvarka", daugiau-nei ">", bet ne-nei "<" palyginimas ir integruotas SQL Server string manipuliavimo funkcijos pvz., SUBSTRING().

    Tačiau lygybės palyginimas, veiks tol, kol eilutės, palyginti yra lygiaverčiai baitas lygis. Atkreipkite dėmesį, kad jei UTF-8 duomenų SQL Server nenaudokite simbolio stulpelių (CHAR/NCHAR/VARCHAR ir t. t.). UTF-8 yra netinkamas simbolis duomenų SQL serverio ir saugo duomenis ne simbolių simbolių stulpelių, jūs rizikuojate susiduria su problemomis, pvz., problemas, aprašytus šioje "Microsoft" žinių bazės straipsnius:

    155723 INF: SQL Server nukirtimo DBCS eilutės

    234748 PRB: SQL Server ODBC tvarkyklė konvertuoja kalbos įvykius į Unicode
    Jei ketinate šią parinktį, Turėkite omenyje, kad jei kada nors reikės pasiekti UTF-8 duomenys, saugomi viduje SQL serverio iš bet kurios programos, išskyrus žiniatinklio naršyklės (pvz., naudojant ne žiniatinklio ODBC programą) jums reikia padaryti konvertavimo iš UTF-8 ir UCS-2 pagal šią programą kaip ODBC, OLEDB, COM, Win32 API skambučių, VB ir C runtime string manipuliavimo funkcijos veikia su UTF-8 duomenų. Tai perkelia neefektyvi vertimo į kitą programą.

  5. Jei jūsų reikalavimus nėra būtina saugoti duomenis iš įvairių kalbų, negali būti įvykdyti vieną kodų, jums gali reikia naudoti Unicode.

Unicode palaikymas buvo įvestas prie SQL serverio, pradedant nuo SQL Server 7.0. Nes SQL Server 6.5 nepalaiko Unicode duomenis saugoti, tik parinktys SQL Server 6.5 nurodytos 4 ir 5 veiksmus.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius

Ieškoti mokymo >

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?

Dėkojame už jūsų atsiliepimą!

×