ASP.NET QuickStart Príručka
Kódovanie
Tak ako ďalšie komponenty .NET Frameworku, ASP.NET spracováva reťazce vnútorne ako
Unicode, presnejšie ako v jeho 16-bitovej kódovacej podobe UTF-16. Väčšina webových
protokolov je s byte-ovým základom (byte-based), a to je dôvod, prečo sú štandardne
požiadavky z prehliadača a odozvy na prehliadač konvertované do byte-ovej podoby
(byte-based form) Unicode UTF-8. Táto konverzia je algoritmická a všeobecne nemá
žiadny vplyv na výkonnosť. Väčšina súčasných prehliadačov podporuje stránky kódované
UTF-8. Bohužiaľ pre staršie prehliadače alebo prehliadače na mobilných zariadeniach
môže byť nutné konvertovať spojenie s prehliadačom na jeden z legacy codepage-based
encodings. Nasledujúca ukážka ukazuje ako nastaviť japonské kódovanie Shift-JIS
v sekcii globalization súboru web.config.
V tomto prípade môže mať webový vývojár tak isto záujem uložiť si svoje súbory v
stránkovom kódovaní. To je možné deklarovať atribútom fileEncoding.
<configuration>
<system.web>
<globalization
requestEncoding="shift-jis"
responseEncoding="shift-jis"
fileEncoding="shift-jis"
...
/>
</system.web>
</configuration>
Typicky sú aj requestEncoding aj responseEncoding nastavené
na rovnakú hodnotu. Tieto konfiguračné nastavenia, okrem fileEncoding,
môžu byť nastavené aj v deklarácii @ Page. Dôvodom je, že táto direktíva
sa nachádza v súbore stránky a kódovanie súboru musí byť známe pri prvom čítaní
súboru.
Ak nie je k dispozícii žiadna deklarácia fileEncoding, ASP.NET určí
kódovanie súboru detekovaním označenia Unicode na začiatku súboru a použije ich
pre rozpoznanie medzi stránkami kódovanými v UTF-8 a v UTF-16. Označenia Unicode
sú pridávané programom Visual Studio a Poznámkovým blokom (Notepad) automaticky
po uložení súboru ako UTF-16. Poznámkový blok (Notepad) tak isto pridáva označenie
pre UTF-8 alebo tak môže byť špecifikované v programe Visual Studio. Ak nie je prítomné
žiadne označenie, zdrojový súbor bude interpretovaný v aktuálnom systéme kódovania
stránok ANSI systému, na ktorom stránka beží. Odporúča sa vždy ukladať súbory s
označením Unicode.
|