그러나 javascript를 활용해 pop을 띄우게 되면 인코딩 문제가 발생한다.
Case 1. URL로 이동
특정 개체 > 동작 > URL로 이동 > 링크주소
아래와 같이 인코딩 이슈 없음
Case 2. URL로 이동(팝업)
특정 개체 > 동작 > javascript 명령어 입력새로운 창이 열리면서 url은 이동되지만 한글이 올바르게 인코딩 되지 못함
이러한 문제는 다음과 같은 이유로 발생한다.
한글의 경우 ssrs에서는 utf-8로 자동으로 인코딩이 되어 버린다.
이렇게 인코딩 된 값을 이동하고자하는 url 서버가 받아 euc-kr로 디코딩을 진행하게 되면
호환성 충돌로 인해 올바른 값이 return 되지 않는다.
이러한 문제는 아래와 같이 해결할 수 있다.
SSRS내부에서 사용자 함수를 정의해 한글인 경우 euc-kr로 미리 인코딩통해 ssrs에 전달 하게 되면
올바른 값이 return된다.
* 해결
Setp 1. ssrs 내부의 사용자 정의 함수 만들기
Public Function fn_encode(ByVal strs as String) as String Dim byteChr as String Dim i as Integer Dim strV,temp for i=1 to Len(strs) byteChr = Cstr(Hex((AscW(Mid(strs,i,1))))) If Len(byteChr) = 4 Then temp = "%u" & byteChr Else temp = Mid(strs,i,1) End If strV = strV & temp next RETURN strV End Function |
Step 2. URL 링크 입력
="javascript:void(window.open('http://search.naver.com/search.naver?&query=" & code.fn_encode("한글") & "','ViewItemPage'))"
댓글 없음:
댓글 쓰기