ASP 프로그램이 동일한 사이트에 있고 UTF-8 인코딩 프로그램과 GB2312 인코딩 프로그램이 있는 경우 UTF-8 인코딩 페이지를 탐색한 후 현재 웹 사이트의 GB2312 페이지를 탐색하면 GB2312 인코딩 페이지가 나타납니다. 왜곡된 문자
문제는 UTF-8 인코딩을 탐색할 때 서버가 기본적으로 UTF-8 엔진을 사용하여 GB2312 페이지를 탐색할 때 여전히 UTF-8을 사용하여 GB2312 인코딩을 출력한다는 것입니다. .
이 문제는 아침 내내 나를 괴롭혔고, 마침내 푸른 이상이 해결되었습니다.
먼저 Session 개체가 제공하는 네 가지 속성을 살펴보겠습니다.
1.CodePage 읽기/쓰기. 정수 유형.
브라우저에 페이지 콘텐츠를 표시하는 데 사용되는 코드 페이지를 정의합니다. 코드 페이지는 문자 집합의 숫자 값으로, 언어와 위치에 따라 다른 코드 페이지를 사용할 수 있습니다. 예를 들어, ANSI 코드 페이지 1252는 미국 영어와 대부분의 유럽 언어에 사용됩니다. 코드 페이지 932는 일본어 문자에 사용됩니다. (이것이 여기서 사용할 속성입니다)
2.LCID 읽기/쓰기. 정수 유형.
브라우저로 전송되는 페이지 LCID(로캘 식별자)를 정의합니다. LCID는 지역을 고유하게 식별하는 국제 표준 약어입니다. 예를 들어 2057은 현재 지역의 통화 기호를 '£'로 정의합니다. 선택적 LCID 매개 변수가 있는 한 FormatCurrency와 같은 문에서도 LCID를 사용할 수 있습니다. LCID는 ASP 처리 지시문 <%...%>에서도 설정할 수 있으며 세션의 LCID 특성 설정보다 우선합니다. ASP 처리 명령 목록은 이 장의 뒷부분에 제공됩니다.
3.SessionID는 읽기 전용입니다. 롱타입.
세션이 생성될 때 서버에서 생성된 이 세션에 대한 세션 식별자를 반환합니다. 상위 Application 개체의 수명 동안에만 고유하므로 새 응용 프로그램이 시작될 때 재사용할 수 있습니다.
4.시간 초과 읽기/쓰기. 정수 유형.
이 세션의 시간 초과 기간을 분 단위로 정의합니다. 사용자가 제한 시간 내에 웹 페이지를 새로 고치거나 요청하지 않으면 세션이 종료됩니다. 필요에 따라 각 웹페이지에서 수정될 수 있습니다. 기본값은 10분입니다. 사용량이 많은 사이트에서는 이 시간이 더 짧아야 합니다!
다음은 일반적으로 사용되는 ANSI 코드 페이지입니다.
<%@ codepage=65001%>UTF-8
<%@ codepage=936%>중국어 간체
<%@ codepage=950%>중국어(번체)
<%@ codepage=437 %>미국/캐나다 영어
<%@ codepage=932 %>일본어
<%@ codepage=949 %>한국어
<%@ codepage=866 %>러시아어
이제 문제를 해결하는 방법과 용도에 대해 이야기하겠습니다.
웹사이트 프로그램에서 사용하는 공유파일 conn.asp에 다음 코드를 추가합니다.
1. Gb2312 인코딩 페이지에 추가됨
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
마지막으로 더 추가하세요
<%Response.charset = "BG2312"%>
2. utf-8 인코딩 페이지에 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 추가
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
이것이 가장 간단하고 효과적인 방법입니다.