가장 좋은 방법 :
먼저 기본 사항에 대해 이야기하겠습니다.
<%@ CodePage = 65001%> UTF-8
<%@ codepage = 936%> 단순화 된 중국어
<%@ codepage = 950%> 전통 중국어
< %@ codepage = 437 %> U.S./Canada 영어
< %@ codepage = 932 %> 일본어
< %@ codepage = 949 %> 한국어
< %@ codepage = 866 %> 러시아어
CodePage는 전달 된 문자열 (양식 제출, 주소 막대 배송 등)을 읽는 코드 IIS를 지정합니다.
차량의 코드의 이유는 웹 사이트를 통합해야 할 때 모듈 인코딩이 다르기 때문입니다.
내 블로그와 마찬가지로 블로그가 UTF-8이므로 통합 할 때이 문제가 발생합니다.
최근에 많은 네티즌 이이 문제에 대해 컨설팅을 해왔으며 많은 방법을 시도했습니다.
가장 편리한 방법은 다음과 같습니다.
UTF-8 또는 UTF-8을 인코딩하는 모듈 웹 페이지와 GB22312 또는 GB2312를 변환하지 마십시오.
UTF-8 모듈 패키지 문서 (예 : Conn.asp, 그러나 첫 번째 줄에서 Conn.asp를 호출해야한다는 점에 유의하십시오) 첫 줄을 추가하십시오.
<%@language = "vbscript"CodePage = "65001"%>
<%session.codepage = 65001%>
GB2312 모듈의 패키지 문서 앞에 추가
<%@language = "vbscript"CodePage = "936"%>
<%session.codepage = 936%>
다른 인코딩 등.
ASP의 한자와 UTF-8 사이의 전환
'================== 중국어를 UTF-8로 변환합니다. ==========================
기능 중국어 2Unicode (str)
i = 1 to len (str)의 경우
str_one = mid (str, i, 1)
str_unicode = str_unicode & chr (38)
str_unicode = str_unicode & chr (35)
str_unicode = str_unicode & chr (120)
str_unicode = str_unicode & hex (ascw (str_one))
str_unicode = str_unicode & chr (59)
다음
Chinese2unicode = str_unicode
엔드 기능
'================== UTF-8 중국어로 변환 =======================
기능 UTF2GB (UTFSTR)
dig = 1 to len (utfstr)의 경우
Mid (utfstr, dig, 1) = "%"라면
LEN (UTFSTR)> = dig+8 인 경우
gbstr = gbstr & convchinese (MID (UTFSTR, DIG, 9))
dig = dig+8
또 다른
gbstr = gbstr & mid (utfstr, dig, 1)
끝 If
또 다른
gbstr = gbstr & mid (utfstr, dig, 1)
끝 If
다음
UTF2GB = GBSTR
엔드 기능
기능 convchinese (x)
a = split (mid (x, 2), "%")
i = 0
j = 0
i = 0에서 Ubund (a)의 경우
a (i) = c16to2 (a (i))
다음
i = 0에서 우 빌드 (a) -1
digs = instr (a (i), "0")
유니 코드 = ""
j = 1에서 digs-1
j = 1이면
a (i) = 오른쪽 (a (i), len (a (i))-발굴)
유니 코드 = 유니 코드 & A (i)
또 다른
i = i+1
a (i) = 오른쪽 (a (i), Len (a (i)) -2)
유니 코드 = 유니 코드 & A (i)
끝 If
다음
LEN (C2To16 (유니 코드)) = 4 인 경우
convchinese = convchinese & chrw (int ( "& h"& c2to16 (unicode)))))
또 다른
convchinese = convchinese & chr (int ( "& h"& c2to16 (unicode)))))
끝 If
다음
엔드 기능
기능 C2To16 (x)
i = 1
i = 1에서 len (x)의 경우 4 단계
C2To16 = C2To16 & Hex (C2To10 (Mid (X, I, 4))))
다음
엔드 기능
함수 C2TO10 (X)
C2To10 = 0
x = "0"인 경우 함수를 종료하십시오
i = 0
i = 0에서 len (x) -1에서
Mid (x, len (x) -i, 1) = "1"인 경우 c2to10 = c2to10+2^(i)
다음
엔드 기능
함수 C16TO2 (X)
i = 0
i = 1 대 Len (trim (x))
tempstr = c10to2 (cint (int (int ( "& h"& mid (x, i, 1))))))