Il Content-Type meta intestazione informa il browser di trattare il contenuto inviato in un flusso di testo codificato UTF-8. Non garantisce che lo stream inviato sia effettivamente UTF-8. Per gestire correttamente UTF-8 devi fare 3 cose: -
- Assicurarsi che il contenuto statico sia salvato in una codifica compatibile con UTF-8.
- Assicurarsi che il contenuto dinamico sia codificato in UTF-8.
- Informare il client che il contenuto è codificato in UTF-8.
Articolo 1 lavoro richiede la che in realtà di salvare il file ASP come un file codificato UTF-8 o che tutti i tuoi contenuti statici nel file è all'interno della gamma di caratteri ASCII (0-127). Nota se si salva come UTF-8 allora tutti gli script lato server devono usare caratteri nell'intervallo di caratteri ASCII. In Visual Studio puoi farlo selezionando "Salvataggio del file AS ..." e quindi facendo clic sulla piccola freccia sul pulsante Salva.
Articolo 2 richiede che la proprietà Response.CodePage
è impostato sul codice della pagina 65.001 UTF-8, è possibile farlo in codice o aggiungendo l'attributo CODEPAGE=65001
alle <%@ %>
dichiarazioni sulla prima riga del file ASP. Se lo si fa in codice, è necessario impostarlo prima di ogni chiamata a Response.Write
. AND: non utilizzare le funzioni chr o asc (queste sono buggy quando si usa 65001), ma usare invece chrw e ascw.
L'articolo 3 richiede che l'intestazione Content-Type
contenga il qualificatore charset=UTF-8
. Come già stai facendo, puoi farlo con l'intestazione META. Personalmente trovo che per essere un po 'di kludge, preferisco usare Response.Charset = "UTF-8"
nel codice. Questo pone il qualificatore sulla vera intestazione HTTP Content-Type
.
Grazie mille! Per me funziona. Ho appena aggiunto quel copione alla mia pagina. Molte grazie! Non posso rispondere immediatamente 'coz Non posso essere online in quei giorni. Grazie. – RedsDevils
Non è divertente quando ottieni un voto alto su una domanda che hai risposto 5 anni fa. – BenCr