Mysql
 sql >> Baza danych >  >> RDS >> Mysql

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

Zrozumienie, jak IIS przetwarza kodowanie ASP

Podobnie jak w przypadku wszystkich problemów z kodowaniem w klasycznym ASP, pomaga zrozumieć, jaki cel spełniają różne polecenia (ponieważ zbyt często ludzie używają ich niepoprawnie, ponieważ wydaje się, że rozwiązuje to problem) .

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

Ta linia jest często źle rozumiana, składnia <%@ to "Dyrektywa ASP @ Processing" i służy do informowania IIS, jak przetwarzać stronę ASP i jest prawdopodobnie jednym z najważniejszych poleceń, jeśli chodzi o prawidłową pracę z kodowaniem.

  • @Language informuje IIS, jaki zarejestrowany aktywny język skryptowy powinien być używany do przetwarzania strony ASP.

  • @CodePage informuje IIS, która strona kodowa powinna zostać użyta do przetworzenia strony ASP. Jeśli strona została zapisana przy użyciu UTF-8 następnie IIS musi wiedzieć podczas przetwarzania strony, że powinien użyć CodePage 65001 (znany również jako UTF-8 ) .

Oznacza to, że @CodePage powinien zawsze odpowiadać fizycznemu kodowaniu użytemu podczas tworzenia strony. Aby to rozwiązać, może być konieczne użycie zaawansowanego edytora tekstu, niektóre przykłady to Notepad++ (wyświetla kodowanie na pasku stanu w prawym dolnym rogu okna GUI) i Studio wizualne (Posiada ukryte polecenie menu o nazwie Advanced Save Options do którego można uzyskać dostęp, dostosowując pasek menu) .

<% Response.CodePage = 65001 %>

Ponownie często źle rozumiane, celem tego polecenia jest poinformowanie IIS, jak powinny być kodowane ciągi dynamiczne (przez ciągi dynamiczne rozumiemy wszystko, co jest wyprowadzane za pomocą Response.Write() ) . Prawdopodobnie najważniejsza część całego procesu, jeśli jest ustawiona nieprawidłowo lub zakłada się, że niezgodności kodowania mogą i występują.

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

To polecenie ustawia ;charset=utf-8 w Content-Type Nagłówek HTTP, gdy odpowiedź jest wysyłana z serwera do przeglądarki klienta, informuje przeglądarkę, że ta odpowiedź powinna zostać przetworzona jako UTF-8 zamiast domyślnego. Znaczenie kodu, takiego jak

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

jest zbędny i nie powinien być używany. Warto również zauważyć, że istnieje polecenie dla Content-Type Również nagłówek HTTP

Response.ContentType = "text/html"

czyniąc go jeszcze bardziej zbędnym niż dotychczas.

Przydatne linki



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Scalić 2 tabele dla zapytania SELECT?

  2. Co dokładnie robi grupowanie według?

  3. Jak korzystać z widoków w bazie danych MySQL

  4. Wyszukiwanie zbliżeniowe

  5. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:awaria łącza komunikacyjnego ze zdalną bazą danych