한글이 %uxx로 인코딩된 경우, 이를 euc-kr로 바꾸고 싶은데 방법을 모르겠습니다.
글쓴이: theand / 작성시간: 일, 2006/09/10 - 2:58오후
프로그래밍 상황은,
서버는 윈도우즈 2003 + IIS 6.0입니다.
웹디스크 기능을 하는 액티브엑스 컴포넌트가 있는데, 자바스크립트를 이용하여 액티브엑스 컴포넌트에서 컨트롤 하는 특정 데이터(서버에 올린 파일 경로)를 취하여 그 값을 DB에 저장합니다.
DB에 저장할 때는 아파치 + PHP의 조합으로 돌아가는 서버에 쿼리를 보내서 오라클 DB에 저장합니다. (모두 euc-kr 기반)
컴포넌트에서 넘겨주는 값을 바로 찍어보면 한글의 경우 %uxx 하는 식으로 표현됩니다. 유니코드를 지원하기 위해 어떻게 인코딩된 것일 테지요.
그 값이 사람의 눈으로 읽기 불편해도, 그 값을 이용해 파일에 접근하는데는 특별한 문제가 없어보여, 인코딩의 내부적인 사정에 대해 신경 안 쓰고 DB에 그 경로를 바로 저장해왔습니다.
그런데 지금은 그 값을 그대로 써서는, 또다른 어플리케이션(플래쉬 액션스크립트)에서 그 값을 읽는데 문제가 발생해서(%u를 빼먹은 xx만 읽어버림)
%uxx의 형태가 아니라 원래의 한글 형태로 디코딩하여 읽어야하는 상황입니다.
%uxx의 형태로 인코딩된 한글 문자열을 PHP(4.x)나 ASP(ASP.Net이 아닌 그냥 ASP) 또는 자바스크립트의 함수를 이용해 euc-kr의 문자열(정확한 표현인지는 모르겠지만, 아무튼 눈으로 볼 수 있는 한글형태)로 바꿀 방법을 알고 싶습니다. 도움 주시면 감사하겠습니다.
Forums:
euc-kr은 아니지만, %uxx
euc-kr은 아니지만, %uxx -> &#xx;로 함 바꿔보세요.
urldecode
urldecode인가? 비슷한 이름의 함수가 자바스크립에 있었던것으로...
Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.
댓글 달기