sql >> Databasteknik >  >> RDS >> Mysql

Classic ASP + Motobit Pure ASP Upload + UTF-8 Charset

Förstå hur IIS bearbetar ASP-kodning

Som med alla kodningsproblem i Classic ASP hjälper det att förstå vilket syfte de olika kommandona uppfyller (eftersom folk alltför ofta använder dem felaktigt, eftersom det verkar lösa problemet) .

<%@ Language = "VBScript" CodePage = 65001 %>

Denna rad missförstås ofta, syntaxen <%@ är ett "ASP @ Processing Directive" och tjänar till att berätta för IIS hur man bearbetar ASP-sidan och är förmodligen ett av de viktigaste kommandona när det gäller att arbeta med korrekt kodning.

  • @Language talar om för IIS vilket registrerat Active Scripting Language som ska användas för att bearbeta ASP-sidan.

  • @CodePage talar om för IIS vilken CodePage som ska användas för att bearbeta ASP-sidan. Om sidan har sparats med UTF-8 då måste IIS veta när sidan bearbetas ska den använda CodePage 65001 (annan känd som UTF-8 ) .

Det betyder att @CodePage ska alltid matcha den fysiska kodning som användes när sidan skapades. Du kan behöva använda en avancerad textredigerare för att lösa detta, några exempel är Anteckningar++ (visar kodning i statusfältet längst ner till höger i GUI-fönstret) och Visual Studio (Har ett dolt menykommando som heter Advanced Save Options som kan nås genom att anpassa menyraden) .

<% Response.CodePage = 65001 %>

Återigen, ofta missförstådd, är syftet med detta kommando att tala om för IIS hur dynamiska strängar ska kodas (med dynamiska strängar menar vi allt som matas ut med Response.Write() ) . Möjligen den viktigaste delen av hela processen, om den är felaktigt inställd eller om det antas att kodningsfel överensstämmer kan och förekommer.

<% Response.CharSet = "UTF-8" %>

Detta kommando ställer in ;charset=utf-8 i Content-Type HTTP-rubrik när svaret skickas från servern till klientwebbläsaren talar om för webbläsaren att detta svar ska behandlas som UTF-8 snarare än standardkoden. Betyder kod som

Response.AddHeader "Content-Type", "text/html; charset=utf-8"

är överflödig och bör inte användas. Det är också värt att notera att det finns ett kommando för Content-Type HTTP-huvud också

Response.ContentType = "text/html"

vilket gör den ännu mer överflödig än den redan var.

Användbara länkar



  1. Oracle Forms i R12/R12.2

  2. Hur man bestämmer tabellstorlek i Oracle

  3. En guide till PGpool - Tips och observationer:del tre

  4. Oracle DB Server + APEX + ORDS + JasperReports from scratch (Del 4)