Se o programa ASP estiver no mesmo site e houver um programa codificado em UTF-8 e um programa codificado em GB2312, depois de navegar na página codificada em UTF-8 e depois navegar na página GB2312 do site atual, a página codificada em GB2312 aparecerá. Caracteres distorcidos
O problema é que quando você navega pela codificação UTF-8, o servidor usa o mecanismo UTF-8 para gerar HTML por padrão. Quando você navega na página GB2312, ele ainda usa UTF-8 para gerar a codificação GB2312. .
Esse problema me incomodou a manhã toda e finalmente o ideal azul foi resolvido.
Primeiro, vamos dar uma olhada nas quatro propriedades fornecidas pelo objeto Session.
1. Leitura/gravação de página de código. Tipo inteiro.
Define a página de código usada para exibir o conteúdo da página no navegador. Uma página de código é o valor numérico de um conjunto de caracteres, e diferentes idiomas e locais podem usar diferentes páginas de código. Por exemplo, a página de código ANSI 1252 é usada para inglês dos EUA e para a maioria dos idiomas europeus. A página de código 932 é usada para caracteres japoneses. (Este é o atributo que usaremos aqui)
2.LCID leitura/gravação. Tipo inteiro.
Define o identificador de localidade da página (LCID) enviado ao navegador. LCID é uma abreviatura padrão internacional que identifica exclusivamente uma região. Por exemplo, 2057 define o símbolo monetário da região atual como '£'. O LCID também pode ser usado em instruções como FormatCurrency, desde que haja um parâmetro LCID opcional. O LCID também pode ser definido na diretiva de processamento ASP <%...%> e tem precedência sobre a configuração no atributo LCID da sessão. Uma lista de instruções de processamento ASP é fornecida posteriormente neste capítulo.
3.SessionID é somente leitura. Tipo longo.
Retorna o identificador de sessão desta sessão, gerado pelo servidor quando a sessão foi criada. Exclusivo apenas durante o tempo de vida do objeto Aplicativo pai, para que possa ser reutilizado quando um novo aplicativo for iniciado
4.Tempo limite de leitura/gravação. Tipo inteiro.
Define o período de tempo limite em minutos para esta sessão. Se o usuário não atualizar ou solicitar uma página da web dentro do período de tempo limite, a sessão será encerrada. Ele pode ser modificado em cada página da web conforme necessário. O valor padrão é 10min. Esse tempo deve ser menor em sites com alto uso!
Aqui estão algumas páginas de código ANSI comumente usadas:
<%@ página de código=65001%>UTF-8
<%@ codepage=936%>Chinês simplificado
<%@ codepage=950%>Chinês Tradicional
<%@ codepage=437 %>Inglês dos EUA/Canadá
<%@ página de código=932 %>Japonês
<%@ página de código=949 %>Coreano
<%@ codepage=866 %>Russo
Agora vamos falar sobre os métodos e usos para resolver o problema.
Adicione o seguinte código ao arquivo compartilhado conn.asp usado no programa do site:
1. Adicionado à página de codificação Gb2312
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
Finalmente adicione mais
<%Response.charset = "BG2312"%>
2. Adicione <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> à página de codificação utf-8
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
Este é o método mais simples e eficaz.