ASP ir ASP.NET globalizacijos problemos

Dirbkite bet kurioje vietoje iš bet kurio įrenginio su „Microsoft 365“

Atnaujinkite versiją į "Microsoft 365" ir dirbkite su naujausiomis funkcijomis ir naujinimais.

Naujinti versiją dabar

ASP.NET palaikymo balso stulpelio

Norėdami tinkinti šį stulpelį į jūsų poreikius, raginame pateikti savo idėjų apie temas, kurios jums ir išspręstos problemos, kurį norite matyti ateityje žinių bazės straipsniai ir palaikymo balso stulpelius. Naudojant formą Pateikite ją galite pateikti savo idėjas ir atsiliepimus. Taip pat yra saitas į formą šio stulpelio apačioje.

Įvadas

sveikas atvykęs! Tai meile Khare su "Microsoft" ASP.NET Developer palaikymo komanda. Tai pirmą kartą man jau autorius palaikymo balso stulpelį. Aš mielai rengimo daugiau stulpelių artimiausiais mėnesiais.

Šio mėnesio stulpelio, ketinu aptarti globalizacijos aktyviųjų serverio puslapių (ASP) ir ASP.NET, mes susiduria su ASP, kaip viskas pasikeitė – ASP.NET 1 x ir ką veikia ASP.NET 2.0 globalizacijos priekyje problemų.

Pastaba. Jei jūs nesuprantate frazę, skyriuje terminų aiškinamąjį žodyną šio stulpelio apačioje.

Globalizacijos problemos ASP

Prieš ASP.NET, buvo struktūrinių palaikymo plėtros programų pasaulio vartotojams. Per anksti plėtros ASP, programų kūrėjai kaip pačiam rasti tik nesutampa globalizacijos operacinių sistemų, naršyklių, ASP ir sistemų palaikymą. Tačiau mes retai pastebėjo, bet Automatinis ryšys per šias taikomąsias programas. Laimei, ar suprasti sąvokas, tokias kaip simbolių rinkinius, kodų, naršyklės kalbos ir šriftai, kuria mes galėtų plėtros programos pasaulio vartotojams.

Būtų labai sunku suskirstyti į kategorijas, visi globalizacijos problemos, kad tie iš mūsų, ASP.NET matyti. Vietoj to, aš sąrašas nemažai sąvokas, kurios yra susiję su įvairių šių problemų.

Pobūdžio rinkiniai ir Rfc2047

Visi žinome, kad mūsų kompiuterio ekrane simbolių yra tik tam tikrų baitų. Baitų seka gali būti sukurtas ir aiškinama įvairiais būdais. Jei aiškinimo naudoja kodavimą, kuris skiriasi nuo kodavimą, kad buvo sukurta baitų masyvas, aiškinimo bus rodoma kaip šiukšlių. Simbolių rinkiniai (ženklų rinkiniai) yra kodavimo formatų, kuriuos paprastai naudoja naršyklės. Kodų lentelė turtą, kuris yra daugiau skirtas serverio konvertavimo, yra tik konvertavimo lentelė, kurioje nurodoma, kaip užkoduoti simbolius.

Naršyklės koduoti formos post duomenys pagal dabartinį simbolių rinkinys. Jei Dabartinis simbolių rinkinys yra "windows-1256," byte perduoti į serverį taip pat yra užkoduotas kaip "windows-1256."

Kai ASP interpretuojamas, formos ir užklausos eilutės rinkiniai nėra integruoti tol, kol jie yra nuorodos į kodą. Kai jos buvo sukurtos eilutės duomenys paverčiami Unicode pagal esamą kodų. (Pagal numatytuosius nustatymus ASP ir ASP.NET proceso turinį naudodami Unicode formatu). Tai labai svarbu nustatyti tinkamą kodų prieš nuorodų rinkiniai; kitu atveju Unicode vaizdas atmintyje nebus teisingi.

Norėdami nustatyti su kodų, naudokite Session.Codepage arba Response.Codepage. Response.Codepage galima tik Microsoft interneto informacijos tarnybų (IIS) 5.1 arba naujesnės versijos. Norėdami gauti informacijos apie sveikosios reikšmės (atitinkančių simbolių rinkinys), mes būtume nustatyti šias ypatybes ir, apsilankykite šioje "Microsoft" svetainėje:

Simbolių rinkinys atpažinimas
http://msdn2.microsoft.com/en-us/library/Aa752010.aspxPvz., Norėdami nustatyti Arabų kalbos kodų, naudokite šį kodą:

Session.Codepage = 1256

Response.Codepage turės įtakos tik dabartinio atsakymą. Tačiau Session.Codepage paveiks visus dabartinio vartotojo atsakymus. Kodų lentelė yra nustatyti iš naujo naudodami vieną iš šių ypatybių ir integruoti formos ir užklausos eilutės rinkiniai, šis pakeitimas dabartinę kodų dėl Response.Write būdu pakeisti atminties dabartinę kodų lentelė Unicode. Jei norite gauti daugiau informacijos apie šią temą, apsilankykite šioje MSDN žiniatinklio svetainėje:

Kodų, eilutės konvertavimas (ASP)http://msdn2.microsoft.com/en-us/library/ms525789.aspx nustatymasDugno linijos kai kalbama apie klausimus, susijusius su ženklų rinkiniai ir Rfc2047 simbolių, kliento ir serverio kodų turėtų sutapti.

Priimti kalbos

Jei yra ASP kūrėjas nori žinoti, kurios kalbos vartotojas turi nustatyti savo naršyklę, kūrėjo galite ieškoti kintamasis Request.ServerVariables ("HTTP_ACCEPT_LANGUAGE") , ir kalbas, vartotojas norėtų skaityti atsakymą, (pvz., anglų, vokiečių arba Indijos), vartotojas norėtų šių kalbų pirmenybės tvarka. ASP.net, panaši informacija yra Request.UserLanguages ypatybės kaip masyvą.
Jei norite gauti daugiau informacijos apie tai, kaip naudoti šią informaciją ASP kodas, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:

229690 kaip nustatyti ASP lokalės ID už naršyklės kalbos parametrai

Rodyti įvairaus baitų ilgio simbolių nustato "Internet Explorer"

Tik kodavimo formatas, kuri gali parodyti kelių baitų simbolių rinkinys yra Unicode (UTF-8). Su UTF-8, mes galime Rodyti kirilica, Indijos ir japonų tame pačiame puslapyje. Jei mes naudojame UTF-8, mes gali būti rodomi tik vieną iš šių kalbų vienu metu. Norėdami nustatyti naršyklės, naudokite ypatybę Response.CharSet .

Statinis baitų simbolių puslapyje

Rodyti baitų simbolių saugomi tiesiai į puslapį, mes pirmiausia turi įrašyti puslapio su konkrečių kodavimas. UTF-8 bus geriausia, bet konkrečių kodų, (pagal simbolių kodų) veiks taip pat.

Naudojant Microsoft Visual InterDev ASP failo įrašymo problemos išspręsti nepavyko, nes Visual InterDev sutaupo tik anglų ANSI arba Unicode. Bet ASP puslapyje įrašytas kaip Unicode nepalaikomas ASP.

Microsoft Visual Studio .NET, galite įrašyti failą bet kodavimas. Yra du būdai, kaip tai padaryti. Numatytuosius parametrus yra įrašyti failą naudojant dabartinę kodų vartotojo. Papildoma galimybė įrašyti failą su kodavimą, yra toks:
Meniu failas spustelėkite Įrašyti failą kaip. Kad
Įrašyti failą kaip dialogo lange spustelėkite meniu rodyklę,
Įrašyti mygtuką. Spustelėjus rodyklę, pasirinktys
Įrašyti ir išsaugokite kodavimą. Spustelėjus
Įrašyti su kodavimas, dialogo lange Įrašyti Išplėstinės parinktys langas, kuriame galite pasirinkti kodavimo tipą, kurį norite taikyti iš sąrašo Rfc2047 kompiuteryje įdiegtų.


Pastaba. Tai keičia kodavimą įrašymo operacijos, tačiau yra tik vieną kartą. Išsaugoti kitą bus nustatytas atgal į numatytuosius parametrus.

Norėdami pakeisti numatytąjį kodų, spustelėkite Išplėstinės parinktys įrašyti į
Meniu failas . Dialogo lange Įrašyti Išplėstinės parinktys galite nustatyti numatytąjį kodavimą Išsaugoti operacijų kodų lentelė pasirinktą.

Šie metodai yra susiję su kaip failas įrašomas į diską. Tačiau kontrolės, ASP, kaip jau aptarta, mums reikia nustatyti Session.CodePage ir Response.CharSet ypatybes. Su IIS 5.1 ir naujesnes versijas, mes taip pat galite naudoti ypatybę Response.CodePage .

Numatytasis kodų serveryje

Numatytąjį lokalės ir numatytąjį kodų lentelei, priklauso nuo registro parametrus. Numatytasis vartotojas. Mes galime rasti tarptautinio registro avilys HKEY_USERS\ klavišą. DEFAULT\Control Panel\International. Taip pat galite pakeisti lokalę, kuri yra pasirinkta IIS veikimą. Jei norite gauti daugiau informacijos, žr. skyrių "IIS 5.0" šiame žinių bazės straipsnyje:

306044 veikimo data/laikas formatas skiriasi, kai iš Active Server Pages

Jei prisijungęs vartotojas turi patį lokalės kalba nustatyta kaip šis raktas arba sistemos numatytuosius parametrus, vartotojo parametrus pirmenybę.

Pavyzdys: Numatytąjį lokalės yra datos formatas nustatyti kaip 11.1.2004, o prisijungęs vartotojas (su tais pačiais lokalės) yra datos formatas kaip 2004-1-11. 2004-1-11 parametras įsigalios ASP.

(ASP.NET, tai gali skirtis. Kai kurie įrenginiai, ASPNET vartotojas galės turėti savo profilį, kuriame bus rodomi HKEY_USERS jo. Kitais atvejais naudos toliau. Numatytasis vartotojo profilis. Mes taip pat galite naudoti kodų atributą < % @ % > deklaraciją. Tai turėtų būti naudojami įrašant failą naudodami kitą kodavimą tada numatytuosius parametrus, pvz., kodų 932 (japonų k.)).

Kodų lentelė problemos ir šrifto konvertavimo problemos: kuris yra, kuris?

Kartais galite matyti klaustuko (?) simbolių arba kur simbolį turėtų pasirodyti lauke.

Kodų lentelė konvertavimo problemos

Kai klaustuko (?) simbolis yra simbolio, tai tai rodo, kad kodų konvertavimo problemos, įvyko. Klaustuko (?) yra numatytasis simbolių kodų keitimo ir iš esmės reiškia, kad operacinės sistemos nežino, kaip tvarkyti simbolių reikšmė ir jo konvertuoti. Jis pakeičia simbolių reikšmė klaustuko (?). Vadinasi, kad simbolių reikšmė yra neleistina dėl kodų lentelė arba kodų, reikalingi konvertavimą neįdiegtas.

Šrifto konvertavimo problemos

Kai laukas pakeičiamas simbolių, tai rodo, kad šrifto konvertavimo problema įvyko. Taip nutinka kliento pusėje, kai klientas nėra įdiegta netinkamai tokio pobūdžio tinkamą šriftą. Pvz., kai simbolių yra iš japonų simbolių, o klientas neturi japonų įdiegtus šriftus, japonų simbolių rodomas kaip langas.

Be to, aš kalbėti apie tai, kaip viskas pasikeitė ASP.NET 1.x ir kaip šie pakeitimai įtakoja globalizacijos problemos dėl ASP.NET.

Globalizacijos problemos, ASP.NET 1.x:

Su ASP.NET, sukurtus trijų nuostabių dalykų:

  • < Globalizacijos > žymę web.config failą
    < Globalizacijos > mano mums nuo nenuosekliai sąvokas Rfc2047 ir ženklų rinkiniai, ir leidžia kontroliuoti per ASP.NET variantų.

  • System.Globalization vardų sritis
    Globalizavimas vardų srities suteikia mums programinis galios tvarkyti globalizavimas.

  • Išteklių failų sąvoka gerokai patobulinta.
    Mes negalima spręsti išteklių failus taip, kad mes įpratę ASP. Dabar, išteklių failai yra XML failai, kaip mes kuriame ir juos, ir jie yra kaip surenka vykdymo metu.

Globalizavimas konfigūracijos žymę:

Du svarbūs parametrai žymės yra šios:

<globalization             requestEncoding="utf-8" 
responseEncoding="utf-8" />

Kitose įmanoma parametrai taip:

fileEncoding

Nurodo kodavimą .aspx, .asmx ir .asax failo numatytuosius parametrus. Unicode UTF-8 ir failus su byte užsakymo žymė priešvardis (su parašu) automatiškai atpažins, neatsižvelgiant į fileEncodingvertę.

Kultūros

Nurodo numatytąjį kultūros už gaunamas interneto užklausas (taikoma metodų klasės iš System.Globalization vardų srities).

uiCulture

Nurodo numatytąjį kultūros už lokalės priklauso nuo išteklių paieškos (pagalbinių rinkinių).

Jei norite gauti daugiau informacijos apie kultūros eilutes (reikšmės kultūros ir uiculture), apsilankykite šioje "Microsoft" svetainėje:

System.Globalization.CultureInfoClass
http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo(vs.71).aspxŠie parametrai taikomi iš ASP.NET baigus atsako ir prieš prašymas perduodamas savo programą išjungti. ResponseEncoding, buferio, kuris yra sukurtas saugoti išvesties nustatytas į šį kodavimą. Viskas, kas patenka į šį buferis bus užkoduotas pagal parametrą kaip ji įdėta į buferį.

RequestEncoding, vykdymo užklausa skaityti ir interpretuoti pagal parametrą šiame skyriuje. Tai gali sukelti problemų, tačiau parametras. Toliau pateiktoje lentelėje rodo šiek tiek išdėstymą tinkamas UTF-8 baitų seka.

Jei į standartinę ASCII 7 bitų simbolių reikšmė, byte vertė yra nepakeistas. Jei reikšmė yra virš 127, jį reikia laikytis žemiau. Siekdama nustatyti bitų rodo kiek simbolių seka. Kiekvienas baitas po to, kai pirmą turi prasidėti pirmąjį nustatyta į 1.

UTF-8 baitų išdėstymas:

Baitų

BITS

vaizdas

1

7

0vvvvvvv

2

11

110vvvvv 10vvvvvv

3

16

1110vvvv 10vvvvvv 10vvvvvv

4

21

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv

Tai, kur yra problema. Jei naršyklė nustatomos pagal vieną baitų kodavimas (pvz., iso-8859-1) užklausa, reikšmių virš 127 nebus galioja pagal pirmiau išdėstymas. Skaitant į UTF-8 buferį, neleistinų simbolių yra tiesiog atsisakyta išvestį.

Vykdymo proceso kodavimo pakeitimai

Application_BeginRequest atveju, mes galime pakeisti requestEncoding reikšmę ir jis pradėtų veikti, kol užklausa apdorojama. Atsakymo, Page_PreRender įvykis yra Paskutinė galimybė modifikuoti išvesties kodavimą. Taip pat Pastaba, kad Response.Write bus simbolių į šį buferis kuo greičiau vadiname, todėl įsitikinkite, kad turite teisę kodavimo nustatyti prieš naudojant Response.Write.

Pradiniai duomenys yra ne Unicode: kaip atlikti "Internet Explorer" suprasti kelių baitų ženklų rinkiniai?

Mes taip pat gali veikti kaip ASP, jei reikia ASP.NET. Kad tai atsiranda, mes turime nustatykite responseEncoding requestEncoding ir windows-1252 (a išsamesnė kodavimo nei iso-8859-1), ir naudoti ypatybę Response.Charset netinkamai tekstą. Ši funkcija veikia windows 1252 yra vienas baitas kodavimo schema, nes nekeičia jokių baitai, įtrauktų į buferį. Taigi, dvibaičių simbolių siunčiami vieną baitų seka. Tada mes pasakyti "Internet Explorer" kaip suprasti baitų naudojant Response.Charset ypatybės. Šiuo atveju gali prireikti, jei originalūs ne saugomas Unicode ar UTF-8, pvz., reikšmę iš COM objekto, arba jei duomenys saugomi Microsoft SQL Server ne N srityje (pvz., varchar).

SQL serverio ir ASP.NET globalizacijos problemos

Unicode duomenų įvesties prie SQL serverio

Geriausias būdas saugoti duomenis, SQL serverio yra panaudoti Unicode. Kiekvieną kartą, kai mes naudojame INSERT, UPDATE ir t. t, jei galima net mažiausiai Unicode duomenų, mums reikia pridėti N prieš reikšmę. Nurodys duomenų bazę, kad reikšmė yra Unicode. Geras pavyzdys, tai yra ADO objektai. Jie tai padaryti automatiškai, jei mes naudojame įrašų rinkinio objekto įtraukti nauji įrašai.

Toliau pateikiamas pavyzdys:

INSERT INTO MusicAlbum (Album_ID, [Year], Name, Artist_ID, Company_ID) VALUES (12345, 2005, N'Abida', 4653, 403)Or:
Dim t As String = "INSERT INTO MusicAlbum(Album_ID, [Year], Name, Artist_ID, Company_ID) VALUES (12345, 2005, N'" & TextBox1.Text & "', 4653, 403)"

Data/laikas įvesti prie SQL serverio

Paprastai mes turime žinių apie kultūros ir lokalės data/laikas yra aiškinama per mūsų ASP.NET programos. Tačiau tuo pat metu spausdami ir traukia data/laikas duomenis ir išoriniai šaltiniai, kyla klaidingai aiškina data/laikas formatai. Taip yra todėl, kad mes negali garantuoti kultūros ir lokalės iš išorinio šaltinio, turi būti toks pat kaip ir mūsų programa. SQL Server tai gali būti išspręsta naudojant "dabartinės kalbos" ypatybė ryšio eilutė yra nustatyta į SQL duomenų bazės ryšio atributo. Mes galime suteikti pačios kalbos parametrui naršyklėje ypatybė ryšio eilutė , kaip į mūsų kultūros. Tai apsaugo mus nuo klaidingai, nes SQL serverio visada priima ir siunčia data/laikas duomenų sutikimą su minėtų parametrą.

System.Globalization vardų sritis

Šis vardų sritis yra pagrindinė globalizacijos ir lokalizacijos .NET Framework. Pagrindinės klasės, naudojamas šis vardų sritis yra CultureInfo klasės. Jis turi kursus apie informaciją, pvz., data/laikas formatas, skaičių formatai, palyginti informaciją ir teksto informaciją. Daugiau informacijos apie CultureInfo klasę, apsilankykite šioje MSDN žiniatinklio svetainėje:

http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo(vs.71).aspxCultureInfo

Neutral kultūros ir konkrečios kultūros

Neutral culture yra culture, kuris yra susietas su kalba, bet ne konkrečioje šalyje arba regione. Konkrečios kultūros yra susijęs su kalba ir konkrečios šalies.

Pavyzdys: """(neutral culture)" yra vokiečių kalba, bet "de-AT" (konkrečios kultūros) yra vokiečių kalba kaip kalbama Austrijoje. Neutral kultūros negalima naudoti formatavimo.

Dabartinė gija ir kultūros apie .NET Framework klasių

Visų klasių ir metodų .NET Framework bibliotekoje, kur galima būtų tikėtis išvestį, kad būtų kultūros priklauso nuo turi du integruotas veikimas.

  • Jie mums nurodyti kultūros kodas tuo, kad išvesties yra nurodytas kultūros argumentai. Tai nėra privalomas.

  • Jeigu tai (paprastai tai), klasės yra pažangios, kad Thread.CurrentThread.CurrentCulture ypatybės ir darbą pagal, patikrinti.

Mes gali modifikuoti šios ypatybės reikšmė kodas, kuris panašus į šį:

    Dim ci As CultureInfo        ci = New CultureInfo("de-AT")
Thread.CurrentThread.CurrentCulture = ci

Šiame pavyzdyje kodas "de" yra vokiečių kalba ir "AT" yra Austrijoje. Taigi, šiuo atveju, DateTime.Now(). ToString būdas grąžintų laiko ir datos formato atitinkamai būdas, data ir laikas yra išreikšta Austrijoje vokiečių kalba.

Sistemą (taip) užtikrina, kad CurrentCulture ypatybė visada inicijuota:

  1. Bet ji yra lygi programiškai.

  2. Jei nėra aiškiai nustatyta iš programuotojų, ypatybės pasirenkama iš konfigūracijos failus (< globalizacijos > žymę).

  3. Jei ypatybės nėra, ji yra kultūros, kuriame veikia žiniatinklio serveryje. Paprastai tai yra neutral culture, kuris atitinka operacinės sistemos kalbą.

Išteklių failai

.Resx, .resource failus ir failus, kurie turi atributą Komponavimo veiksmas nustatykite kaip Įdėtasis išteklių , įtrauktų į Visual Studio .NET, ASP.NET projektu automatiškai surinkti ir įdėta programa rinkinio dalis jo deklaracijos. Tai net galima rankiniu būdu išteklių failas generatorius (RESGEN) priemone per Visual Studio .NET komandų eilutę. Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:

http://msdn2.microsoft.com/en-us/library/ccec7sz1(vs.71).aspxTai yra bendra sąvoka, kuri yra taikoma, kai reikia tvarkyti programos, kurios yra susijusios su globalizacija. Tačiau mes įgyvendinant globalizacijos, mes naudojame pagalbinių rinkinių.

Pagalbinių rinkiniai

Pagalbinių rinkiniai gali būti naudojamas ASP.NET projekte, kai jūs įsitikinkite, kad toliau nurodytos:

  1. Visi vartotojo sąsajos elementai visus aspx failus reikia turėti id ir būti runat = serverio atributus.

  2. Mes sukurti atskirą .resx failus. Kiekvienas turi atitikti kiekvienos kultūros, mes norite palaikyti mūsų prašymą.

  3. Turime nuspręsti dažniausiai vardas šių failų pvz "Eilutės".

  4. Mes name su šių vardų suteikimo konvencijos commonfirstname. languagecode regiono.resx atskirą .resx failus (pvz.: Strings.de-AT.resx, Strings.en GB.resx).

  5. Mes turime išteklių failą
    commonfirstname.resx (Strings.resx), kurio visi teksto kaip mes norite parodyti numatytąjį atveju.

  6. Rašyti kodą, kad galėtumėte nustatyti vartotojo kultūros ir Thread.CurrentThread.CurrentUICulture ypatybę atitiktų į jį.

  7. Rašyti kodą, kad galėtumėte įkelti išteklių naudojant ResourceManager klasę.

  8. Rašyti kodą iš įkeltų objekto Išskleisti eilutes ir jas priskirti vartotojo sąsajos elementai.

Atlikę šiuos veiksmus, Visual Studio.NET kompiliavimo Strings.resx ir įdėkite jį į taikomųjų programų rinkinys (MyGlobalizationTestProjectName.dll). Tačiau kiti .resx failų, jis sukurs atskirą dll failus, kurie neturi nurodyto apdorojamo kodo, bet tik išteklių duomenų. Tai iš tikrųjų yra vadinama pagalbinių rinkinių. Be to, Visual Studio .NET vietų šių aplankų struktūrą, panašų į šį:MyGlobalizationTestProjectName |------- bin
|------en-US
MyGlobalizationTestProjectName.resources.dll
|------ja-JP
MyGlobalizationTestProjectName.resources.dll
|------de-AT
MyGlobalizationTestProjectName.resources.dll

Skirtumas tarp CurrentCulture ir CurrentUICulture

Klasės System.Globalization vardų srityje metodus, priklauso nuo Thread.CurrentThread.CurrentCulture ypatybės ir jų produkcijos, ResourceManager klasės, kuri įkelia išteklių rinkinio priklauso ypatybę Thread.CurrentThread.CurrentUICulture įkelti tinkamą pagalbinių rinkinio. Toliau pateikiamas pavyzdys, C# kodą:

using System.Globalization;using System.Threading;
using System.Resources;

//Load resources.
protected ResourceManager gStrings = new ResourceManager("MyGlobalizationTestProjectName.strings", typeof(MyTestWebFormName).Assembly);

// Get the user's preferred language.
string sLang = Request.UserLanguages[0];
// Set the thread's culture for formatting, comparisons, etc.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(sLang);
// Set the thread's UICulture to load resources
// from satellite assembly.
Thread.CurrentThread.CurrentUICulture = new CultureInfo(sLang);

private void Page_Load(object sender, System.EventArgs e)

{

if (!IsPostBack)

{
// Get strings from resource file and assign to UI elements.
head1.InnerHtml = gStrings.GetString("satellite.head1");
p1.InnerHtml = gStrings.GetString("satellite.p1");
sp1.InnerHtml = gStrings.GetString("satellite.sp1");
sp2.InnerHtml = gStrings.GetString("satellite.sp2");
butOK.Text = gStrings.GetString("satellite.butOK");
butCancel.Value = gStrings.GetString("satellite.butCancel");
}

}

Tokia tvarka, kai ASP.NET pasirenka pagalbinių rinkiniai:

Kai nustatote į pokalbį CurrentUICulture, ASP.NET automatiškai pasirenka išteklius, kurie atitinka, tokia tvarka:

  • Jei tinkamos kultūros pagalbinių rinkinio, naudojami išteklius iš to rinkinio.

  • Jei pagalbinių rinkinio neutral culture, kuris sutampa su CurrentUICulture, naudojami ištekliai, rinkinys.

  • Jei CurrentUICulturenėra atitikmens, saugomi vykdomąjį rinkinio atsarginis ištekliai naudojami.

Pastaba. Tai yra pagrįstas išteklių daugiau bendro pobūdžio grįžti procesą. Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:

http://msdn2.microsoft.com/en-us/library/sb6a8618(vs.71).aspx

Rankiniu būdu sukurti pagalbinių rinkiniai:

Šis pagalbinių rinkiniai paprastai kur Visual Studio .NET sukuria ir rinkinių, pats. Visual Studio .NET nėra stiprus vardas pagalbinių rinkinių pagal numatytuosius parametrus, tačiau. Jei norite pakeisti šias parinktis, jums reikės sukurti pagalbinių mazgai rankiniu būdu. Jei norite gauti daugiau informacijos, apsilankykite šioje MSDN žiniatinklio svetainėje:

http://msdn2.microsoft.com/en-us/library/21a15yht(vs.71).aspx.

Kas yra su ASP.NET 2.0 globalizacijos priekyje?

Plačiai paplitęs naudojimas ASP.NET ir problemos, kad matome dėl globalizacijos funkcijos ASP.NET 2.0 vis dar tam tikrą atstumą į priekį. Tačiau būtų gerai atlikti trumpą kokia kryptimi globalizacijos metodika yra pavadintas interneto programas.

ASP.NET 2.0 palaikymą globalizacijos įvyko iš esmės pakeistų ir žiniatinklio programų kūrėjams suteikta galimybė, kad interneto programų lokalizavimas taip paprasta, nes ji yra sistemos "Windows" programos. Toliau pateikiamas sąrašas funkcijos, kurios yra globalizacijos metodika ASP.NET 2.0:

Primygtinai įvedėte ištekliai .NET Framework 2.0 Pagrindinis leidimo yra primygtinai įvedėte išteklių, kad suteikti kūrėjams su Intellisense palaikymas ir supaprastina kodas reikalingas norint pasiekti išteklius vykdymo metu.

Valdomas išteklių redaktorius Visual Studio .NET 2.0 yra nauja išteklių redaktorius geriau palaikantis kūrimas ir valdymas išteklių įrašai, įskaitant eilutes, vaizdus, išorinius failus ir kitokio sudėtingas.

Išteklių kartos žiniatinklio formų "Windows" formų kūrėjai jau patiko automatinio Internacionalizacija naudą. Visual Studio .NET 2005 bus dabar palaiko greitai Internacionalizacija automatiškai kurti išteklių žiniatinklio formų, vartotojo valdikliai ir puslapių.

Patobulintas vykdyklės palaikymas ResourceManager yra valdo aplinką ir lengvai prieinami serverio kodas – labiau prieinamas programavimo sąsajas.

Lokalizavimas reiškiniai Modernus aprašomoji reiškiniai žiniatinklio puslapių palaikymo atvaizdavimas išteklių įrašai valdyti ypatybės, HTML ypatybės arba statinis turinys regionuose. Šie reiškiniai taip pat extensible, kuriame pateikiami papildomi būdai, kaip valdyti procesą prie HTML išvesties lokalizuotas turinys.

Automatinis kultūros pasirinkimas Valdymas kultūros pasirinkimas kiekvienos žiniatinklio užklausos gali būti automatiškai susietas su naršyklės nuostatas.

Išteklių teikėjas modelis Naujas išteklių teikėjas modelis leidžia kūrėjams pagrindinio kompiuterio išteklių alternatyvų duomenų šaltinių, pvz., paprastųjų failų ir duomenų bazės lentelėse, kol nuoseklus programavimo modelis prieiga prie šių išteklių.

Jei norite gauti daugiau informacijos apie globalizacijos ASP.NET 2.0, apsilankykite šioje MSDN žiniatinklio svetainėje:

ASP.NET 2.0 lokalizavimas savybės: Naują požiūrį į lokalizacijos žiniatinklio programos
http://msdn2.microsoft.com/en-us/library/ms379546(VS.80).aspx

Sudarymo

Štai ir viskas dabar apie ASP ir ASP.NET globalizacijos problemas. Aš tikimės, kad šis straipsnis padės keletas klientų triktis jų globalizacijos ASP ir ASP.NET prieš pasirinkti, susisiekite su Microsoft Support. Aš baigiasi mintis taip:

", Kad ir kur jūs kuriate, kad apie milijonus žmonių, jums gali padėti visame pasaulyje. Įsitikinkite, kad jūsų sprendimai pasaulio paruoštas! "Microsoft" įrankius ir technologijas, palengvinti Internacionalizacija."

Mes sugavimo iki dar kartą kitą mėnesį kitą įdomią temą.

Dėkojame už jūsų laiką.

Daugiau informacijos apie ASP ir ASP.NET globalizacijos problemos, ieškokite šiose Microsoft svetainėse:

SetLocale ir GetLocale VBScript
http://msdn2.microsoft.com/en-us/library/5xf99h19.aspx

Globalizavimas žingsnis po žingsnio
http://msdn.microsoft.com/en-us/goglobal/bb688110

Apsilankykite pasaulio: Lokalizacijos dinaminių Web Apps su IIS 5.0 "ir" SQL Server
http://msdn.microsoft.com/msdnmag/issues/01/05/global/default.aspx

Apsilankykite pasaulio: Kūrimas jūsų ASP žiniatinklio svetainės globalizavimas palaikyti
http://msdn.microsoft.com/msdnmag/issues/0700/localize/default.aspx

315616 kaip nustatyti kliento kalbą aktyvaus serverio puslapius puslapio IIS
http://support.microsoft.com/?id=315616

Lokalės ID(LCID) diagrama
http://msdn2.microsoft.com/en-us/library/0h88fahh.aspx

System.Globalization vardų sritis
http://msdn2.microsoft.com/en-us/library/system.globalization(vs.71).aspx

Ištekliai ir lokalizavimas naudojant .NET Framework SDK
http://msdn2.microsoft.com/en-us/library/aa309421(VS.71).aspx

Išteklių ASP.NET programos
http://msdn2.microsoft.com/en-us/library/1ztca10y(vs.71).aspx

ASP.NET < globalizacijos > konfigūracija elementas
http://msdn2.microsoft.com/en-us/library/hy4kkhe0(vs.71).aspx

Dizainas ir interneto klientų - globalizacijos ir lokalizacijos įgyvendinimo gairės
http://msdn2.microsoft.com/en-us/library/ms978628.aspx

Oficialus "Microsoft" svetainėje – pasaulio kūrimo ir skaičiavimo portalas
http://msdn.microsoft.com/en-us/goglobal/bb688096

Pasaulio paruoštas taikomųjų programų kūrimas
http://msdn2.microsoft.com/en-us/library/h6270d0z(vs.71).aspx

Globalizavimas architektūra, ASP.NET
http://msdn2.microsoft.com/en-us/library/aa478974.aspx

Įmonės lokalizacijos Toolkit - lokalizuotą "Microsoft" ASP.NET taikomųjų programų kūrimas
http://msdn2.microsoft.com/en-us/library/aa479334.aspx

Microsoft tipografijos
http://www.microsoft.com/typography/default.mspx

839861 A System.Resources.MissingManifestResourceException išimtis atsiranda, kai bandote pasiekti lokalizuotų išteklių

Terminų aiškinamąjį žodyną

ANSI Amerikos nacionalinio standartų instituto reiškia. Tokiu atveju tai yra konkrečių kodų konkrečios kalbos simbolių rinkinys. Dažniausiai reiškia anglų kalbos kodų (windows-1252).

ASCII 1 baitas (ar 7 bitų) kodavimo sistemą. Tik nuo 0-127 simboliai yra standartizuotas. Nuo 128-255 yra plėtiniai ASCII ir nėra standarto dalis. Pavyzdžiui, skiriasi nuo diapazono OEM ASCII diagramos ir VB ASCII lentelėje.

Simbolių rinkinys Nustatymas naudojamas dažniausiai "Internet Explorer" ir naršyklės, naršyklės nurodoma, kaip suprasti simbolių duomenys. Pavyzdys: Response.charSet = "iso-8859-1."

Kodų lentelė Konvertavimo lentelė, kurioje nurodoma, kaip užkoduoti simbolius (paprastai naudojama serverių).

Globalizavimas Globalizacija yra procesas, projektuojant ir kuriant programą, kad unikalus reikalavimų kultūros, regiono ar nacionalinių ir kalbų poreikius. Kitaip tariant kuriant programą taip, kad jis gali būti lokalizuota vėliau yra globalizacija.

Lokalės/kultūros Kalbos ir regiono konkrečius formatai/parametrus įskaitant, data ir formato, laiko formatai, valiutos formatai, korpusą, rūšiavimas ir eilučių palyginimas, adresas formatai, telefono numerių formatų, popieriaus dydis, matavimo vienetas, rašymo kryptis ir t. t.

VietosID (LCID) DWORD reikšmę, kuri nurodo kalbos identifikatorių ir rūšiavimo identifikatorius. Jį galima nurodyti konkrečiuose regionuose formatai ex data/laikas pagal turėtų būti suformatuotas ir pan.

Localizability Galimybė pateikti turinį pageidaujama kalba/lokalės taikomosios programos.

Lokalizavimas Lokalizavimas yra paversti kalbos ir (arba) vietovėse vartotojo sąsaja.

Įvairaus bitų ilgio simbolių rinkinį Yra simbolių rinkinį simbolių yra sudarytas iš dviejų ar daugiau baitų, pvz., japonų. UTF-8 taip pat patenka į šią kategoriją. (Unicode techniškai yra į šią kategoriją, bet sistemoje "Windows", jis turi savo kategorija.)

Unicode 2 baitų kodavimo schema. "Windows" naudoja Unicode viduje. Bet API specialiai Unicode yra pažymėtas "W" gale funkcijos pavadinimą. Taip pat žinomas kaip pločio simbolis; negali tiesiogiai naudoti žiniatinklio programas.

UTF-8 A simbolių kodavimas kur simbolių gali būti tipo, kurį nurodo 1 – 6 bitais. Sistemoje "Windows", yra 1-3 baitų. Nėra palaikoma pagal NT4 žiniatinklio programas.
Norėdami gauti daugiau informacijos, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite „Microsoft Knowledge Base“ žinių bazės straipsnį:

175392 UTF8 pagalba


Daug simbolių rinkinys Unicode, pseudonimas. Taip pat žinomas kaip DBCS (dvigubai baitų simbolių rinkinys), UCS-2, UTF-16.

Kaip visada, galite pateikti idėjų temų norite ateityje stulpelių arba žinių bazėje naudodami toliau
Paprašykite jį forma.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×