Salt la conținutul principal
Asistență
Conectare

Probleme de globalizare în ASP și ASP.NET

Lucrați de oriunde de pe orice dispozitiv cu Microsoft 365

Faceți upgrade la Microsoft 365 pentru a lucra oriunde cu cele mai recente caracteristici și actualizări.

Faceți upgrade acum

Coloana de voce suport ASP.NET

Pentru a particulariza această coloană nevoilor dumneavoastră, vă invită să prezinte ideile dvs. despre subiecte care vă interesează și problemele pe care doriți să vedeți tratate în viitor articole din baza de cunoștințe și asistență vocală coloane. Puteți trimite idei şi feedback utilizând formularul Cere pentru ea . De asemenea, există un link către formularul de la partea de jos a acestei coloane.

Introducere

bun venit! Acest lucru este Sukesh Khare cu echipa de asistență Microsoft ASP.NET Developer. Aceasta este prima dată pe care le-ați autor de o coloană de asistență vocală. Am cu nerăbdare să creare coloane mai multe astfel de luni înainte.

Pentru această lună coloana, voi discuta probleme de globalizare din Active Server Pages (ASP) și ASP.NET, problemele pe care se confruntă în ASP, cum lucrurile s-au schimbat în ASP.NET 1 x și ce este cu ASP.NET 2.0 pe fața de globalizare.

Notă Dacă întâlniţi un termen nu înțelegeți, consultați secțiunea glosar în partea de jos a acestei coloane.

Probleme de globalizare în ASP

Înainte de ASP.NET, nu a fost niciun suport structurate pentru dezvoltarea de aplicații pentru utilizatorii global. În timpul dezvoltarea timpurie a ASP, dezvoltatori precum personală găsit numai răspândite suportul pentru globalizare în sistemele de operare, browsere, ASP și sisteme de back-end. Cu toate acestea, am observat rareori orice automată conectivitate între aceste aplicații. Din fericire, s-a înțelegem concepte cum ar fi seturi de caractere, paginile de cod, limbile de browser și fonturi care vă poate scoate venituri din pentru dezvoltarea de aplicații pentru utilizatorii global.

Ar fi prea greu de categorii toate globalizare probleme că cele de la noi în ASP.NET văzut. În schimb, am va lista o serie de concepte care se referă la o varietate de aceste probleme.

Seturi de caractere și codepages

Știm cu toate că caractere pe ecranul computerului sunt doar o serie de octeți. Seria de octeți pot fi create şi interpretate în orice număr de moduri. Dacă interpretarea utilizează o codificare care este diferită de codificarea că matricea byte a fost creat cu, interpretarea va afișa ca deșeuri. Seturi de caractere (charsets) sunt codificarea formate de obicei utilizate de browsere. Proprietatea de cod care se aplică mai multe conversii de partea server, este doar un tabel de conversie care specifică modul în care sunt codificate de caractere.

Browsere codifica formular datele post în conformitate cu setul de caractere curentă. Dacă setul de caractere curent este "windows-1256", apoi transmiterea octeți la server este, de asemenea, codificat ca "windows-1256."

Atunci când este interpretate ASP, colecții de formular și interogare nu sunt incluse până când se face referire în cod. Atunci când acestea sunt construite, șir de date este transformat Unicode în funcţie de cod curentă. (În mod implicit, atât ASP și ASP.NET procesul de conţinut utilizând Unicode format). Este foarte important că setați corect de cod înainte de trimitere la colecţii; în caz contrar, reprezentarea Unicode în memorie nu va fi corect.

Pentru a seta un cod, utilizați Session.Codepage sau Response.Codepage. Response.Codepage este disponibilă numai în Microsoft Internet Information Services (IIS) 5.1 sau versiuni mai recente versiuni. Pentru informații despre valori întregi (care corespund setul de caractere) ar stabilim aceste proprietăți la, vizitați următorul site Web Microsoft:

Set de caractere recunoaștere
http://msdn2.microsoft.com/en-us/library/Aa752010.aspxDe exemplu, pentru a seta pagina de cod pentru limba arabă, utilizați următorul cod:

Session.Codepage = 1256

Response.Codepage va afecta numai răspuns curentă. Cu toate acestea, Session.Codepage va afecta toate răspunsurile efectuată de utilizator curent. Atunci când pagina de cod este setat utilizând una dintre aceste proprietăți și colecții de formular și interogare sunt încorporate, această modificare în pagina de cod curentă provoacă Response.Write metoda pentru a transforma Unicode în memorie la pagina de cod curentă. Pentru mai multe informații despre acest subiect, vizitați următorul site MSDN Web:

Setarea paginii de cod pentru șir conversii (ASP)http://msdn2.microsoft.com/en-us/library/ms525789.aspxJos-line atunci când este vorba despre problemele legate de charsets şi codepages este că setul de caractere client şi server de cod trebuie să se potrivească.

Acceptă limbi

Dacă un dezvoltator ASP dorește să știe ce limbi un utilizator a stabilit în browser-ul său, dezvoltator utilizați variabila Request.ServerVariables ("HTTP_ACCEPT_LANGUAGE") pentru a găsi în lista de limbi care utilizatorul dori să citească răspuns în, (cum ar fi în limba engleză, germană, sau Indian) și ordinea de preferință care utilizatorul doriţi să vedeţi aceste limbi. În ASP.NET, informații similare este prezentă în proprietatea Request.UserLanguages ca o matrice.
Pentru mai multe informații despre cum se utilizează aceste informații în cod ASP, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

229690 cum se setează ID-ul de setări regionale ASP per setările de limbă ale browserului

Afișarea caractere octet multiple setează în Internet Explorer

Format de codificare numai care poate afișa un set de caractere octet multiple este Unicode (UTF-8). Cu UTF-8, se poate afișa chirilic, Indian și japoneză toate pe aceeași pagină. Dacă nu folosim UTF-8, putem arăta numai una dintre aceste limbi la un moment. Pentru a seta setul de caractere a browserului, utilizaţi proprietatea Response.CharSet .

Statică multi-byte de caractere pe o pagină

Pentru a afișa multi-byte de caractere stocate direct în pagină, vă trebuie să salvați mai întâi pagina cu codificarea specifice. UTF-8 va fi cel mai bine, dar o anumită de cod (potrivite pentru a paginii de coduri de caractere) va funcționa, de asemenea.

Salvarea unui fișier ASP utilizând Microsoft Visual InterDev nu ajuta, aici, deoarece Visual InterDev poate salva numai în engleză ANSI sau Unicode. Orice pagină ASP salvat ca Unicode nu este acceptat de ASP.

În Microsoft Visual Studio .NET, aveți posibilitatea să salvați un fișier în orice codare. Există două moduri de a face acest lucru. Setarea implicită este modul de salvare a fișierului utilizând pagina curentă de cod pentru utilizator. O cale suplimentară pentru a salva un fișier cu o codificare este după cum urmează:
În meniul fișier , faceți clic pe Salvare fișier ca. În
Salvați fișierul ca caseta de dialog, faceți clic pe meniul vertical de săgeată
Butonul Save . Când faceţi clic pe săgeata, opțiunile sunt
Salvați și salvați cu codificarea. Când faceţi clic pe
Salvați cu codificare, caseta de dialog Opțiuni complexe salvare apare în cazul în care aveți posibilitatea să selectați tipul de codificarea pe care doriți să aplicați dintr-o listă de codepages care sunt instalate pe computer.


Notă Acest lucru se schimbă codificarea pentru a salva operațiuni, dar este doar o singură dată. Următoarea salvare va fi setat înapoi la cel implicit.

Pentru a modifica pagina de cod în mod implicit, faceți clic pe Advanced Options salvați pe
Meniul fișier . În caseta de dialog Opțiuni complexe salvare , aveți posibilitatea să setați codificarea implicită pentru salvare operațiunile de cod la alegere.

Aceste metode sunt legate de cum fișierul este stocat pe disc. Cu toate acestea, pentru a controla datele de ieșire pentru ASP, ca deja discutat, trebuie să setați Session.CodePage și Response.CharSet proprietățile. Cu IIS 5.1 și versiuni mai recente, se poate utiliza, de asemenea, proprietatea Response.CodePage .

Implicit de cod de pe server

Setările regionale implicite și implicit de cod pentru pagina depind de setările registry pentru. Utilizator implicit. Putem găsi cheia internațional la secțiunea de registry HKEY_USERS\. DEFAULT\Control Panel\International. Vă puteți modifica comportamentul de setările regionale care este ales de către IIS. Pentru mai multe informații, consultați secțiunea "IIS 5.0" din următorul articol din baza de cunoștințe:

306044 comportament data/ora format diferă când accesate din Active Server Pages

Dacă utilizatorul conectat are același setările regionale cheia de mai sus sau sistem implicit, setarea de utilizator are prioritate.

Exemplu: Implicit setările regionale are data set format ca 11.1.2004, în timp ce utilizatorul conectat (cu același set de setări regionale) are formatul de dată ca 11/1/2004. Setarea 11/1/2004 vor avea efect pentru ASP.

(Pentru ASP.NET, acest lucru poate varia. În unele instalări, ASPNET utilizatorul va avea propriul profil care va apărea sub HKEY_USERS atunci când este încărcat. În alte persoane, se va utiliza. Profilul implicit. Folosim atributul de cod în declarația < % @ % >. Acesta trebuie utilizat atunci când fișierul este salvat cu un alt codificarea apoi implicit, cum ar fi cod 932 (japoneză)).

Probleme de cod comparativ cu probleme de conversie font: care este care?

Uneori, este posibil să vedeți un caracter semn de întrebare (?) sau o casetă în cazul în care un caracter ar trebui să apară.

Probleme de conversie de cod

Când un caracter este înlocuit cu un caracter semn de întrebare (?), aceasta este o indicație că a apărut o problemă de cod de conversie. Semn de întrebare (?) este un caracter implicit pentru conversia de cod și practic înseamnă că sistemul de operare nu știți cum să gestioneze valoarea de caractere și conversia. Înlocuieşte valoarea de caractere cu un semn de întrebare (?). Acest lucru poate însemna că caracterul are o valoare nevalidă pentru pagina de cod sau nu este instalat de cod care este necesar pentru conversia.

Probleme de conversie font

Când un caracter este înlocuită de o casetă, aceasta este o indicație că a apărut o problemă de conversie font. Acest lucru se produce pe partea client atunci când clientul nu are fontul corect instalat pentru a afișa acest caracter corect. De exemplu, când este un caracter din setul de caractere japoneze, clientul nu are japoneză fonturile instalate, caractere japoneze este afișat ca o casetă.

Apoi, voi vorbi despre cum s-a schimbat lucrurile în ASP.NET 1.x, şi modul în care aceste modificări afectează probleme de globalizare în contextul ASP.NET.

Probleme de globalizare în ASP.NET 1.x:

Cu ASP.NET, s-au introdus trei lucruri bune:

  • Eticheta < globalizare > în fișierul web.config
    Eticheta < globalizare > ne duce la conceptele incoerent de codepages și charsets și ne permite să controleze cele mai multe dintre variantele în ASP.NET.

  • Spațiul de nume System.Globalization
    Nume de globalizare ne oferă puterea programatic tratarea globalizare.

  • Conceptul de resurse fișiere a fost îmbunătățit foarte mult.
    Noi nu face cu fişierele de resurse în modul în care am folosit la ASP. Acum, fișierele de resurse sunt sub formă de fișiere XML când am de proiectare și a le dezvolta și există așa cum se realizează în timpul rulării.

Eticheta de configurare globalizare:

Două setări importante din eticheta sunt după cum urmează:

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

Alte setări posibile domenii după cum urmează:

fileEncoding

Specifică codificarea implicită pentru .aspx, .asmx și fișierul .asax analiză. Unicode și UTF-8 fișiere salvate cu ordinea byte semn de prefix (cu semnătură) va fi automat recunoscut, indiferent de valoarea fileEncoding.

Culture

Specifică culturii implicit pentru procesarea solicitărilor Web primite (se aplică metode de clase de spațiul de nume System.Globalization).

uiCulture

Specifică cultură implicită pentru procesarea dependentă de setări regionale resurse căutări (satelit asamblări).

Pentru mai multe informații despre șirurile culture (valori de cultură şi uiculture), vizitați următorul site Web Microsoft:

System.Globalization.CultureInfoClass
http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo(vs.71).aspxAceste setări se aplică de către ASP.NET după terminarea răspunsul și înainte de solicitarea este transmis dezactiva aplicația. Pentru responseEncoding, tampon care este creat pentru a stoca datele de ieșire este setată la această codificare. Tot ceea ce se întâmplă în acest tampon va fi codificat în funcţie de setarea ca acesta este introdus în tampon.

Pentru requestEncoding, runtime va citi solicitarea și interpreta în funcţie de setarea din această secțiune. Aceasta este o setare care pot provoca probleme, însă. Tabelul de mai jos arată structura bit o secvență de octeți UTF-8 validă.

Dacă valoarea de caractere ASCII 7 biți standard, nu se modifică valoarea de octeți. Dacă valoarea este de 127 de mai sus, acesta trebuie să urmeze regulile de mai jos. Principalii setul de biţi Arată cât de multe caractere sunt în ordine. Fiecare octet după prima trebuie să înceapă cu primul bit setată la 1.

Aspect UTF-8 octeți:

Octeți

bits

reprezentare

1

7

0vvvvvvv

2

11

110vvvvv 10vvvvvv

3

16

1110vvvv 10vvvvvv 10vvvvvv

4

21

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv

Aceasta este problema intervine. Dacă browserul codifică solicitarea în conformitate cu un singur octet codificarea (cum ar fi iso-8859-1), valorile 127 de mai sus nu va fi valabilă în conformitate cu structura de mai sus. Atunci când acestea sunt citite în tampon UTF-8, incorect caracterele sunt pierdute doar de ieșire.

Modificările de codificare Runtime

În cazul Application_BeginRequest , putem modifica valoarea requestEncoding şi să-l avea efect înaintea este procesat solicitarea. Pentru răspuns, evenimentul Page_PreRender este ultima șansă să modificați codificarea de ieșire. De asemenea, reţineţi că Response.Write va pune de caractere în acest tampon imediat ce vă spune, deci asiguraţi-vă să aveți dreptul set de codificare înainte de a utiliza Response.Write.

Datele originale este non-Unicode: cum se face în continuare Internet Explorer interpreta multi-byte charsets?

De asemenea, putem face ASP.NET se comporte ca ASP dacă trebuie să. Pentru a face acest lucru să apară, trebuie să setați responseEncoding și requestEncoding la windows-1252 (o mai completă codificarea decât iso-8859-1), utilizați proprietatea Response.Charset pentru a afișa textul corect. Aceasta funcționează, deoarece windows-1252 este o schemă de codificare singur octet, și nu modificați orice octeți care se adaugă la tamponul. Astfel, caractere pe doi octeți sunt trimise ca o serie de octeți singur. Apoi puteți spune Internet Explorer modul de interpretare a octeți utilizând proprietatea Response.Charset . Acest scenariu poate fi necesar dacă datele originale nu sunt stocate ca Unicode sau UTF-8, cum ar fi o valoare returnată de la un obiect COM, sau dacă datele sunt stocate în Microsoft SQL Server într-un domeniu non N (cum ar fi varchar).

Probleme de globalizare SQL Server și ASP.NET

Unicode intrare date la SQL Server

Cea mai bună modalitate pentru a stoca date în SQL Server este de a utiliza Unicode. Ori de câte ori folosim INSERT, UPDATE, etc, dacă există chiar și o șansă mai puțin de date Unicode, trebuie să adăugați un N înainte de valoarea. Acest lucru spune bazei de date dacă valoarea este Unicode. Un exemplu bun este obiecte ADO. Fac acest lucru automat dacă vom folosi obiectul de înregistrări pentru a adăuga înregistrări noi.

Iată un exemplu:

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/ora de intrare la SQL Server

De obicei avem cunoștințe despre cultură și setările regionale de data/ora interpretate în cadrul aplicaţiei noastre ASP.NET. Cu toate acestea, în timp ce împingere şi tragere date dată/oră pentru și din surse externe, vom rula riscul de a o interpretare formatele de dată/oră. Aceasta se întâmplă deoarece nu putem garanta întotdeauna culture și setările regionale de sursa externă să fie la fel ca în aplicaţia noastră. În SQL Server acest lucru poate fi rezolvată prin utilizarea ' curent limba' atribut în şir de conexiune de conexiune este stabilită la baza de date SQL. Furnizăm aceeaşi Setare limbă în şir de conexiune este culture în aplicaţia noastră. Aceasta ne protejează de riscul de interpretare, deoarece SQL Server întotdeauna acceptă și trimite datele data/ora în acordul cu setarea menționate mai sus.

Nume System.Globalization

Acest nume este de bază de globalizare și localizare în .NET Framework. Clasa principală utilizată în acest nume este clasa CultureInfo . Deține informații specifice culturii, cum ar fi formatul de dată/oră, numărul de formate, comparație informații și informații de text. Pentru mai multe informații despre clasa CultureInfo , vizitați următorul site MSDN Web:

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

Culturi neutru vs. culturi specifice

O culture neutral este o cultură care este asociat cu o limbă, dar nu o anumită țară sau regiune. O anumită cultură sunt asociate atât cu o limbă și o anumită țară.

Un exemplu: "DE" (neutral culture) este pentru limba germană, dar "de la" (specifice culturii) este pentru limba germană este vorbită în Austria. Neutru culturi nu se poate utiliza pentru formatarea.

Receptivitatea la fir și culturii curente de clase .NET Framework

Toate clasele și metode în biblioteca de .NET Framework care ne-ar aştepta ieșire să fie dependente de cultură au două comportamente predefinite:

  • Ele să ne specificaţi codul culturii în timp ce furnizarea argumente, astfel încât rezultatele se bazează pe culture specificat. Aceasta este opțională.

  • Dacă acest lucru este pierdut (de obicei este), clase sunt suficient de inteligent să păstrați o verificare de proprietate Thread.CurrentThread.CurrentCulture și să lucreze potrivit care.

Se poate modifica valoarea această proprietate cu codul care este similar cu următorul:

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

În acest exemplu de cod, "de" reprezintă limba germană și "AT" reprezintă Austria. De aceea, în acest caz, DateTime.Now(). ToString metodă ar fi data și ora într-un format corespunzător modul data și ora sunt exprimate în limba germană din Austria.

Framework (după cum urmează) asigură că proprietatea CurrentCulture întotdeauna este iniţializat:

  1. Ce este setat prin programare.

  2. În cazul în care nu este setată în mod explicit de programator, proprietatea este extras din fișierele de configurare (< globalizare > etichetă).

  3. Dacă proprietatea lipsește, este cultură pe care se execută serverul Web. Aceasta este, de obicei, culture neutral, care corespunde cu limba sistemului de operare.

Fişierele de resurse

Toate .resx, .resource, şi fişiere care au setat la Embedded resursă atributul Construi acțiune care se adaugă la un proiect ASP.NET în Visual Studio .NET, sunt compilate automat și integrate în cadrul aplicațiilor asamblare ca parte a sa manifest. Aceasta chiar se poate face manual, utilizând utilitarul de resurse fişier Generator (RESGEN) prin linia de comandă Visual Studio .NET. Pentru mai multe informații, vizitați următorul site MSDN Web:

http://msdn2.microsoft.com/en-us/library/ccec7sz1(vs.71).aspxAcesta este un concept generale care se aplică ori de câte ori avem nevoie pentru a gestiona resurse de aplicații care au legătură cu globalizare. Cu toate acestea, atunci când vă sunt implementarea globalizare, ar trebui să folosim satelit asamblări.

Asamblări satelit

Asamblări satelit pot fi folosite într-un proiect ASP.NET atunci când vă asiguraţi-vă că următoarele sunt adevărate:

  1. Toate elementele de interfață utilizator în toate fișierele aspx trebuie să fie echipate cu ID-ul și runat = server atribute.

  2. Vom crea fișierele .resx separat. Fiecare trebuie să corespundă fiecare cultură dorim aplicaţiei noastre pentru a accepta.

  3. Noi trebuie să decideți un prenume comune pentru toate aceste fișiere de ex. 'Șiruri'.

  4. Ne numele separat .resx fișierele cu următoarele naming convention commonfirstname. languagecode-regioncode.resx (de exemplu: Strings.de-AT.resx, Strings.en GB.resx).

  5. Ar trebui să avem fișierul de resurse
    commonfirstname.resx (Strings.resx) care are toate șirurile așa cum vă doriți afișate în cazul implicit.

  6. Scrie codul pentru a detecta culture utilizatorului și se setează proprietatea Thread.CurrentThread.CurrentUICulture pentru a se potrivi la ea.

  7. Scrie codul pentru a încărca resursele cu ajutorul clasei ResourceManager .

  8. Scrie codul pentru a extrage șiruri de la obiectul încărcate și asocia la elementele de interfață utilizator.

Când ați efectuat acești pași, Visual Studio.NET va compila Strings.resx și l încorporați în Adunarea de aplicație (MyGlobalizationTestProjectName.dll). Cu toate acestea, pentru toate celelalte fișiere .resx, va genera fișierele dll separat care nu au cod executabil, dar numai resurse de date. Acestea sunt numite fapt satelit asamblări. De asemenea, Visual Studio .NET plasează în structură de folder similar cu următorul:MyGlobalizationTestProjectName |------- bin
|------en-US
MyGlobalizationTestProjectName.resources.dll
|------ja-JP
MyGlobalizationTestProjectName.resources.dll
|------de-AT
MyGlobalizationTestProjectName.resources.dll

Diferența între CurrentCulture și CurrentUICulture

În timp ce metodele de clase în spațiul de nume System.Globalization depind de proprietatea Thread.CurrentThread.CurrentCulture pentru a da lor de ieșire, clasa ResourceManager care încarcă asamblarea resurse depinde de proprietatea Thread.CurrentThread.CurrentUICulture să încarce Adunarea satelit corespunzătoare. Iată un exemplu de cod C#:

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");
}

}

Ordinea în care ASP.NET selectează asamblări satelit:

Când ați setat fir CurrentUICulture, ASP.NET selectează automat resursele care se potrivește, în următoarea ordine:

  • Dacă o asamblare satelit se găsește o potrivire culturii, resurse de asamblare care sunt utilizate.

  • Dacă o asamblare satelit este găsit cu o culture neutral, care se potrivește CurrentUICulture, resurse de asamblare care sunt utilizate.

  • Dacă nu este găsită o potrivire pentru CurrentUICulture, resurse de rezervă stocate în Adunarea executabil sunt utilizate.

Notă Acest lucru se bazează pe procesul mai generale resurse de rezervă. Pentru mai multe informații, vizitați următorul site MSDN Web:

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

Crearea manuală asamblări satelit:

Această utilizare a satelit asamblări este unde Visual Studio .NET creează asamblări în sine. Visual Studio .NET nu nume puternic satelit asamblări în mod implicit, însă. Dacă doriți să modificați aceste opțiuni, trebuie să creați manual satelit asamblări. Pentru mai multe informații, vizitați următorul site MSDN Web:

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

Ce este cu ASP.NET 2.0 pe partea frontală globalizare?

Utilizarea pe scară largă de ASP.NET și tipurile de probleme care ne-ar vedea cu privire la globalizare caracteristici în ASP.NET 2.0 sunt încă unele distanţă mai departe. Cu toate acestea, ar fi bine să aibă o scurtă privire la ce direcţie metodologie de globalizare este condus de aplicații web.

Globalizare suport în ASP.NET 2.0 a suferit o modificare radical și dezvoltatori Web să aibă capacitatea de a face localizarea Web applications cât de simplu pentru aplicații bazate pe Windows. Iată o listă de caracteristici care sunt foundation de globalizare metodologie în ASP.NET 2.0:

Recomandăm cu insistență tastat resurse În centrul de .NET Framework 2.0 lansare este suportul pentru resurse de tastat puternic care oferă dezvoltatorilor cu Intellisense și simplifică codul necesar pentru accesarea resurselor de la momentul de execuție.

Editor de resurse gestionate Visual Studio .NET 2.0 include un editor de resurse noi cu suport mai bun pentru crearea și gestionarea resurselor intrări inclusiv șiruri, imagini, fişiere externe și alte tipuri de complexe.

Generarea de resurse pentru formulare Web Dezvoltatorii de formulare Windows s-au deja avantajele internaţionalizare automate. Visual Studio .NET 2005 vor accepta acum rapidă internaţionalizare prin generarea automat resurse pentru formulare Web, utilizator controale și pagini coordonatoare.

Runtime suport îmbunătățit ResourceManager instanțe sunt gestionate de execuție și accesibilă pentru server codul prin interfețe de programare a mai accesibil.

Localizare expresii Expresii declarativ moderne pentru paginile Web acceptă maparea intrările de resurse pentru a controla proprietăți, HTML proprietăți sau regiuni conținut static. Aceste expresii sunt, de asemenea, extensibile, oferind modalităţi suplimentare pentru a controla procesul de ataşarea conținutul localizat la ieșire HTML.

Selectare automată culture Gestionarea culture selecție pentru fiecare cerere Web pot fi automat legate preferințele de browser.

Model de furnizor de resurse Un nou model de furnizor de resurse permite dezvoltatorilor să gazdă resurse din surse de date alternativ, cum ar fi fișierele plat și tabelele bazei de date, în timp ce model de programare pentru accesarea acestor resurse rămâne consecventă.

Pentru mai multe informații despre globalizare metodologie în ASP.NET 2.0, vizitați următorul site MSDN Web:

ASP.NET 2.0 localizare caracteristici: O abordare nouă a localizarea aplicații Web
http://msdn2.microsoft.com/en-us/library/ms379546(VS.80).aspx

Încheierea

Asta este tot acum despre probleme de globalizare în ASP și ASP.NET. Am sperăm că acest articol vă va ajuta clienții câteva problemelor lor globalizare în ASP și ASP.NET înainte de a opta pentru a contacta Microsoft Support. I se va încheia cu următoarele considerat:

"Oriunde şi ori de câte ori este în curs de dezvoltare, gândiţi milioane de persoane care pot empower din întreaga lume. Asigurați-vă soluții gata pentru World! Instrumente Microsoft și tehnologiile ușura internaţionalizare."

Ne va prinde din nou luna viitoare cu un alt subiect interesante.

Vă mulțumim pentru timpul.

Pentru mai multe informații despre probleme de globalizare în ASP și ASP.NET, consultați site-uri Web Microsoft:

Tmpnam și GetLocale în vbscript
http://msdn2.microsoft.com/en-us/library/5xf99h19.aspx

Globalizare pas cu pas
http://msdn.microsoft.com/en-us/goglobal/bb688110

Du-te la nivel mondial: Localizarea dinamic Web Apps cu IIS 5.0 și SQL Server
http://msdn.microsoft.com/msdnmag/issues/01/05/global/default.aspx

Du-te la nivel mondial: Proiectarea ASP bazat pe site-ul Web pentru a accepta globalizare
http://msdn.microsoft.com/msdnmag/issues/0700/localize/default.aspx

315616 cum să detecteze o limbă Client într-un activ pagini pagină în IIS
http://support.microsoft.com/?id=315616

Setări regionale ID(LCID) diagramă
http://msdn2.microsoft.com/en-us/library/0h88fahh.aspx

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

Resurse și localizare folosind .NET Framework SDK
http://msdn2.microsoft.com/en-us/library/aa309421(VS.71).aspx

Resurse în aplicații ASP.NET
http://msdn2.microsoft.com/en-us/library/1ztca10y(vs.71).aspx

Element de configurare ASP.NET < globalizare >
http://msdn2.microsoft.com/en-us/library/hy4kkhe0(vs.71).aspx

Proiectare și indicațiile de implementare pentru clienții Web - globalizare și localizare
http://msdn2.microsoft.com/en-us/library/ms978628.aspx

Oficial Microsoft site – Global Development și Portal de calcul
http://msdn.microsoft.com/en-us/goglobal/bb688096

Dezvoltarea de aplicații gata pentru World
http://msdn2.microsoft.com/en-us/library/h6270d0z(vs.71).aspx

Globalizare arhitectura pentru ASP.NET
http://msdn2.microsoft.com/en-us/library/aa478974.aspx

Instrumente de localizare Enterprise - pentru dezvoltarea de aplicații localizată Microsoft ASP.NET
http://msdn2.microsoft.com/en-us/library/aa479334.aspx

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

839861 System.Resources.MissingManifestResourceException O excepție apare atunci când încercați să accesați o resursă localizată

Glosar

ANSI Înseamnă American National Standards Institute. În acest context, reprezintă un cod specifice pentru un set de limbă/caractere specifice. Cel mai frecvent se referă la pagina de cod în limba engleză (windows-1252).

ASCII Un sistem de codificare 1 byte (sau pe 7 biți). Numai caracterele în intervalul 0-127 sunt standardizat. Intervalul 128-255 este extensii ASCII şi nu fac parte din standard. Un exemplu este diferența dintre gama superioară a diagramei OEM ASCII și diagramei VB ASCII.

Set de caractere Setarea utilizată pentru Internet Explorer și browsere care spune browser modul de interpretare a datelor de caractere. Exemplu: Response.charSet = "iso-8859-1."

Pagina de cod Un tabel de conversie care specifică modul în care sunt codificate de caractere (de obicei pentru servere).

Globalizare Globalizare este un proces de proiectarea şi crearea unei aplicații, astfel încât pot fi îndeplinite cerințele unic o cultură, regiune sau nevoile national şi lingvistice. Cu alte cuvinte proiectarea unei aplicații într-un mod care pot fi localizate mai târziu este globalizare.

Setări regionale/Culture Limbă și regiune anumite formate/preferinţe inclusiv, data și formate de calendar, formate de timp, monedă formate, carcasa, sortare și comparație șiruri, formate de adrese, telefon numărul de formate, dimensiuni de hârtie, unitate de măsură, scris direcția, etc.

LocaleID (LCID) O valoare DWORD care specifică identificatorul de limbă și sortare ID-ul. Se poate utiliza pentru a specifica formatele de regiune specifică pentru ex data/ora etc ar trebui să fie formatată potrivit.

Localizability Capacitatea de a unei aplicații să prezinte conținut pentru a cerut/regionale de limbă.

Localizare Localizarea este procesul de traducerea o interfață cu utilizatorul în anumite limbi și setări regionale.

Setul de caractere multioctet Un caracter setată în care caracterele sunt compuse de octeți două sau mai multe, cum ar fi japoneză. UTF-8, de asemenea, se încadrează în această categorie. (Unicode tehnic este în această categorie, dar în Windows, are propria categorie).

Unicode O schemă de codificare 2 octeți. Windows utilizează intern Unicode. API-uri orice special pentru Unicode sunt însemna de "W" la capătul a numelui function. De asemenea, cunoscut și ca largă char; nu se poate utiliza direct din aplicațiile web.

UTF-8 Codificarea caracterelor în cazul în care un caracter poate fi reprezentată de 1-6 de octeţi. În Windows, intervalul este 1-3 octeți. Nu acceptă sub NT4 pentru aplicațiile web.
Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:

175392 UTF8 suport


Set de caractere largă Un alias pentru Unicode. De asemenea, cunoscut ca DBCS (setul de caractere octet dublu), UCS-2, UTF-16.

Ca întotdeauna, vă liber să prezinte ideile pe teme doriți abordate în viitor coloane sau în baza de cunoștințe utilizând
Formular Cere pentru ea .

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×