ASP는 Request.QueryString으로 인코딩된 함수 코드를 읽습니다. ASP를 배우는 친구들은 이를 참조할 수 있습니다. 1. 매개변수 순수 한자를 지원합니까?a=山老熊
2. 지원 매개변수 gb2312 Urlencode 인코딩: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. 지원 매개변수 UTF-8 Urlencode 인코딩: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=65001%>
<%
옵션 명시적
상수 YXCMS_CHARSET = UTF-8
상수 YXCMS_CODEPAGE = 65001
Response.CharSet = UTF-8
세션.코드페이지 = 65001
'테스트 URL
'?n1=깊은 산의 늙은 곰&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86 %8A
'산 속의 늙은 곰
'GBK: %C9%EE%C9%BD%C0%CF%D0%DC
'UTF-8: %E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
희미한 URI, 키
URI 설정 = 새 Cls_URI
'모든 매개변수 테스트를 출력합니다.
URI.QueryString의 각 키에 대해
Response.Write <span style='color:red'> & key & : </span> & URI.Get(key) & <hr/>
다음
'단일 값을 얻습니다.
'URI.Get(이름)
'-------------------
'ASP UTF-8 인코딩이 GBK UTF-8 인코딩을 대체합니다.
저자: Deep Mountain Old Bear QQ:81090
'-------------------
클래스 Cls_URI
비공개 o_item,o_regx
비공개 url_query
비공개 하위 클래스_초기화
o_item = CreateObject(Scripting.Dictionary) 설정
o_item.CompareMode = 1
o_regx = 새 정규식 설정
o_regx.Pattern = ^(?:[/x00-/x7f]|[/xfc-/xff][/x80-/xbf]{5}|[/xf8-/xfb][/x80-/xbf]{4}|[/ xf 0-/xf7][/x80-/xbf]{3}|[/xe0-/xef][/x80-/xbf]{2}|[/xc0-/xdf][/x80-/xbf])+ $
세션.코드페이지 = 936
url_query=Request.ServerVariables(QUERY_STRING)
세션.코드페이지 = 65001
'QUERY_STRING 문자열을 기반으로 시뮬레이션된 QueryString 값을 생성합니다.
나는,a,b,c,n,v를 어둡게 한다
a = 분할(url_query,&) : c = UBound(a)
i = 0에서 c로
b = 분할(a(i),=,2)
n = 트림(b(0) & )
UBound(b) < 1이면
v =
또 다른
v = b(1)
InStr(v,%) > 0이면 v = URLDecode(v)
종료 조건
만약 n <>이면
o_item(n) = v
종료 조건
다음
o_regx = 아무것도 설정하지 않음
서브 끝
비공개 하위 클래스_종료
o_item = 없음으로 설정
서브 끝
'Request.QueryString 시뮬레이션
공개 함수 QueryString()
QueryString = o_item 설정
기능 종료
'Request.QueryString(n) 시뮬레이션
공개 함수 [GET](n)
o_item.Exists(n)이면
[GET] = o_item.Item(n)
또 다른
[GET] =
종료 조건
기능 종료
'인코딩 형식
비공개 함수 URLDecode(ByVal s)
희미한 sm,cs,r,o_regex
Trim(s & ) = 그렇다면
URLDecode = s : 함수 종료
종료 조건
s = 이스케이프 해제
o_regx.Test(s)이면 다음
cs=UTF-8
또 다른
cs=GBK
종료 조건
sm = CreateObject(Adodb.Stream) 설정
sm으로
.유형 = 2
.모드 = 3
.열려 있는
.CharSet = ISO-8859-1
.WriteText
.위치 = 0
.CharSet = cs
URLDecode = .ReadText(-1)
.닫다
끝
sm = 없음으로 설정
기능 종료
수업 종료
%>