지금 만들고 있는 링크 미리보기에서 서버 모듈을 개발하고 있는데 Classic ASP에서 euc-kr이 자꾸 깨지는 현상이 발생했다.
다른 서버 모듈(JSP,PHP,ASP.NET) 들은 해결했는데 Classic ASP는 해결하지 못해서 계속 찾아보던중 기존에 url을 parsing하여 html을 가져오는 responseText는 항상 유니코드로 디코딩을 하기 때문에 한글이 깨졌다는 것을 알게 됐다.
정보를 찾던 중에 ADOStream을 알게 돼어서 binary쪽으로 접근을 해 euc-kr로 변환하려고 했었는데 찾다보니 오래됐지만 더 좋은 코드가 있어 기록한다. 나중에 최신 코드로 리팩토링을 할 수 있으면 해야겠다.. 일단 주어진 업무가 바쁘기 때문에 ..
' ===========================
' Function to GetHTMLBin
' ===========================
Function GetHTMLBin(URLaddress)
Dim Http
Set Http = CreateObject("Microsoft.XMLHTTP")
Http.Open "GET", URLaddress, False
Http.Send
GetHTMLBin = Http.ResponseBody
Set Http = Nothing
End Function
' ===========================
' Function to BinToText
' ===========================
Function BinToText(varBinData, intDataSizeInBytes) ' as String
Const adFldLong = &H00000080
Const adVarChar = 200
Set objRS = CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk varBinData
BinToText = objRS("txt").Value
objRS.Close
Set objRS = Nothing
End Function
GetURL = "http://www.empas.com" '사이트 주소
HTMLBin = GetHTMLBin(GetURL)
html = BinToText(HTMLBin,32000)
출처: https://mystop.tistory.com/513
출처 MSXML2.ServerXMLHTTP 를 이용한 한글깨짐 방지 함수 : 네이버 블로그 (naver.com)
'개발 > ETC' 카테고리의 다른 글
Docker 시작하기 (0) | 2024.07.08 |
---|---|
[CSS] border Trick, Customized Dashed Border (1) | 2024.01.03 |
[JSP] setCharacterEncoding , setContentType (0) | 2021.11.10 |
CSS,HTML 과 CSS3 HTML5 (0) | 2021.01.06 |
CSS 공부 - 5 (0) | 2020.12.10 |