Tentativo di creare la mia prima pagina ASP.NET. Ho ottenuto IIS 5.1 su XP, configurato per eseguire .NET 4. Ho creato una nuova directory virtuale e aggiunto un file .aspx. Quando sfoglio il file, i caratteri non ASCII sono corrotti. Ad esempio, un ü (U + 00FC) viene trasformato in ¼ (U + 00C3 U + 00BC), che è l'equivalente di I-don't-get-this-is-UTF-8.Ho bisogno di web.config per caratteri non ASCII?
Ho provato diversi modi di avvalendosi di questo:
- Ho fatto che il file aspx è infatti codificato come UTF-8.
ho impostato il meta tag:
<meta charset="UTF-8">
ho impostare la directory virtuale per gestire aspx come
text/html;charset=utf-8
sotto intestazioni HTTP> Tipo di file in IIS.- Ho aggiunto
ResponseEncoding="utf-8"
a<%@ Page ... %>
. - Ho inserito la stringa in
HttpUtility.HtmlEncoded()
. Ora ü è stato trasformato in à ¼ (U + 00C3 U + 00BC).
Infine, ho trovato 2 modi che hanno lavorato:
- Sostituzione caratteri non ASCII con riferimenti di carattere, come ad esempio
ü
Questa è stata bene negli anni 90, non oggi. Aggiunta di un file web.config nella directory virtuale, con questo contenuto:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <globalization fileEncoding="utf-8"/> </system.web> </configuration>
Senza fileEncoding
impostazione, il parser ASP.NET leggerà l'aspx e corrotto carattere ogni non-ASCII senza tentare di dedurre la codifica del file. È solo qualcosa che i professionisti hanno imparato a convivere, o mi sfugge qualcosa? È un file web.config con le impostazioni di globalizzazione il modo per gestire i caratteri "internazionali" nelle pagine .aspx? Non ricordo di aver avuto problemi simili con PHP, quindi sono perplesso sul motivo per cui è cresciuto con ASP.NET.
ho trovato un altro modo di farlo funzionare senza il file web.config: Salvare la pagina aspx come UTF-8 con contrassegno dell'ordine dei byte (BOM). In generale, UTF-8 non dovrebbe avere bisogno di una distinta base, poiché l'ordine dei byte è implicito nella codifica, ma Microsoft ha una tradizione da richiederlo, che è probabilmente la cosa giusta da fare, dal momento che deduce la codifica del file in più robusto. Immagino che questo sia il tipo di soluzione che stavo cercando, ma i commenti sono ancora benvenuti. –
È consigliabile installare il programma di installazione della piattaforma Web Microsoft e utilizzare IIS express 7.5 e web matrix o VS 2010 express – Aviatrix