Mysql
 sql >> база данни >  >> RDS >> Mysql

Класически ASP + Motobit Pure ASP Качване + UTF-8 Charset

Разбиране как IIS обработва ASP кодиране

Както при всички проблеми с кодирането в Classic ASP, това помага да се разбере каква цел изпълняват различните команди (тъй като твърде често хората ги използват неправилно, защото изглежда решава проблема) .

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

Този ред обикновено се разбира неправилно, синтаксисът <%@ е "Директива за ASP @ Processing" и служи за указване на IIS как да обработва ASP страницата и е може би една от най-важните команди, когато става въпрос за правилна работа с кодиране.

  • @Language казва на IIS какъв регистриран активен език за скриптове трябва да се използва за обработка на ASP страницата.

  • @CodePage казва на IIS каква CodePage трябва да се използва за обработка на ASP страницата. Ако страницата е запазена с помощта на UTF-8 тогава IIS трябва да знае, когато обработва страницата, трябва да използва CodePage 65001 (известен по друг начин като UTF-8 ) .

Това означава, че @CodePage винаги трябва да съответства на физическото кодиране, което е било използвано при създаването на страницата. Може да се наложи да използвате усъвършенстван текстов редактор, за да решите това, някои примери са Notepad++ (показва кодиране в лентата на състоянието в долния десен ъгъл на прозореца на GUI) и Visual Studio (Има скрита команда от менюто, наречена Advanced Save Options до които можете да получите достъп чрез персонализиране на лентата с менюта) .

<% Response.CodePage = 65001 %>

Отново често неразбрана, целта на тази команда е да каже на IIS как трябва да бъдат кодирани динамични низове (под динамични низове имаме предвид всичко, което се извежда с помощта на Response.Write() ) . Вероятно най-важната част от целия процес, ако е зададен неправилно или се предполага, че несъответствията в кодирането могат да възникнат и се случват.

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

Тази команда задава ;charset=utf-8 в Content-Type HTTP заглавката, когато отговорът се изпраща от сървъра към клиентския браузър, той казва на браузъра, че този отговор трябва да бъде обработен като UTF-8 а не по подразбиране. Значение на код като

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

е излишно и не трябва да се използва. Също така си струва да се отбележи, че има команда за Content-Type HTTP заглавката също

Response.ContentType = "text/html"

което го прави още по-излишен, отколкото вече беше.

Полезни връзки



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проектиране на база данни с рецепти, която трябва да включва съставки, както и подрецепти

  2. Функция MySQL ROUND() – Закръгляйте число до даден брой десетични знаци

  3. JSON_EXTRACT() – Връща данни от JSON документ в MySQL

  4. MySQL, предаване на AUTO_INCREMENT към друга таблица

  5. Производителност на MySQL:MySQL срещу MariaDB