Vítejte na blog.vyvojar.cz Přihlásit | Registrovat | Pomoc

Web Deployment Projects a "Encoding bug"

Web Deployment Project (alespoň jeho první verze) obsahuje velmi nepříjemnou chybu. Špatně detekuje kódování webových stránek, pokud jsou v jiném kódování než "UTF-8". Bohužel tak při použití souborů s kódováním "Windows-1250", dojde k odstranění všech českých znaků v deploy verzi webových stránek. Popis chyby jsem jíž reportoval ASP.NET teamu a Scott Guthrie přislíbil její rychlé odstranění v další release WDP.

 

Existuji 2 cesty jak tento problém obejít"

1) Přejít v projektu na kódování souborů jako UTF-8

tahle cesta ovšem není vždy možná (např. UTF-8 není příliš podporováno ve Visual Sourcesafe do verze 6.0)

2) Použít custom MSBuild Task

pro tento případ jsem napsal a dávám volně k dispozici "ConvertEncoding" MSBuild Task . Tento task  umožňuje překódovat *.ascx, *.aspx a *.master stránky před použitím aspnet_merge z "Windows-1250" na "UTF8" a po použití aspnet_merge zase zpět na "Windows-1250".
ConvertEncoding lze také využít pro scenář, kdy při vývojovi požadujeme soubory trvale v národním kódování např. "Windows-1250" a finální web chceme v "UTF8". V tomto případě použijte pouze "BeforMerge" target.

Zveřejněno 2. prosince 2005 8:29 by mad
Vedeno pod:

Komentář

7. června 2006 17:35 by P_V

# Už to opravili

This April 2006 release contains a merge fix to properly save web forms and other web project files using the default Windows encoding if the file does not contain a Unicode Byte Order Mark (BOM). This matches the behavior of Visual Studio 2005.
Neregistrovaní uživatele nemužou přidávat komentáře.
 
Vyvojar.cz na prodej!