지금까지 개발 환경이 euc-kr이 대세라 urldecode 함수를 찾아 봐도 전부 euc-kr 기반이다.
utf-8에 해당하는 게 없는지 뒤졌더니 중국 사이트가 있더라.
주석이 한자로 적혀 있는 특이한 경험 ㅋㅋ
출처 : http://www.cftea.com/c/2009/10/OOXX97QIONHANAF9.asp
Function UrlDecode_GBToUtf8(ByVal str)
Dim B,ub ''中文字的Unicode码(2字节)
Dim UtfB ''Utf-8单个字节
Dim UtfB1, UtfB2, UtfB3 ''Utf-8码的三个字节
Dim i, n, s
n=0
ub=0
For i = 1 To Len(str)
B=Mid(str, i, 1)
Select Case B
Case "+"
s=s & " "
Case "%"
ub=Mid(str, i + 1, 2)
UtfB = CInt("&H" & ub)
If UtfB<128 Then
i=i+2
s=s & ChrW(UtfB)
Else
UtfB1=(UtfB And &H0F) * &H1000 ''取第1个Utf-8字节的二进制后4位
UtfB2=(CInt("&H" & Mid(str, i + 4, 2)) And &H3F) * &H40 ''取第2个Utf-8字节的二进制后6位
UtfB3=CInt("&H" & Mid(str, i + 7, 2)) And &H3F ''取第3个Utf-8字节的二进制后6位
s=s & ChrW(UtfB1 Or UtfB2 Or UtfB3)
i=i+8
End If
Case Else ''Ascii码
s=s & B
End Select
Next
UrlDecode_GBToUtf8 = s
End Function
'쓸만한 주저리' 카테고리의 다른 글
[asp] server.urlencode + download (0) | 2011.05.24 |
---|---|
table 구조에서 열(column) 단위로 숨기기 (0) | 2011.05.20 |
group by와 distinct를 같이 쓸 때 속도 향상법 (0) | 2010.11.25 |
외부 Server의 XML 가져오기(PHP -> ASP) (0) | 2010.11.05 |
윈도우7 설치후 업데이트가 안될 때 - v3lite 문제 (0) | 2010.10.06 |