login register Sysop! about ME  

2019년 05월 24일 11시 19분 00초,     조회수 : 569
  제목 : utf-8 로 제작한 사이트에서 한글 피라미터를 주소창에서 직접 넣었을때
SEQ : 164173 글쓴이 : hikarubs

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

예를 들어 a.asp?a=한글

식으로 해서 response.write a 하면 이상한 글자가 나오는데

이걸 해결할 방법은 없을까요?

페이지내에서 변수를 보낼때 컨트롤할수있는 부분이 아니라서 인코딩 할방법도 없고

신기한게 크롬에서는 정상적으로 받아지던데 익스플로러에서는 외계어 같은 글자가 나오더라고요..

이걸 컨트롤할 방법이 없는지.. 구글을 암만 뒤져봐도 뻔한 페이지 설정을 utf-8 에 맞게 해라 이런 내용뿐이라..

그쪽 문제가 아닌 ie에서 던져주는값을 어떻게 다시 디코딩을 해야 할꺼 같은데 windows-1252 등을 utf-8 로 변환하는

방식을 써도 안되고 도저히 방법을 모르겠습니다... 


  hyunwoo211
  2019-05-24(11:35)
<%@Language="VBScript" CODEPAGE="65001" %>
<%
Response.CharSet="utf-8"
Session.codepage="65001"
Response.codepage="65001"
Response.ContentType="text/html;charset=utf-8"
%>

<%

a = Request("a")
Response.Write a

%>

classic asp 상단에 넣으면 되겠습니다. 파일 인코딩은 utf-8이더라도 asp의 출력이 utf-8이
아니면 정상적으로 출력이 안됩니다.

  hikarubs
  2019-05-24(12:32)
캐릭 이미지
답변 감사합니다

그런데 이문제는 아니에요 이부분은 다 처리되어 있거든요..

form으로 get 방식으로 보내도 아무 문제 없는데 주소창에서 다이렉트로 입력했을 경우

문제가 발생하는 부분입니다.

지금 태오 게시판을 봐도 http://www.taeyo.net/Search/Default.aspx?
TBL=ASP&PRT=Subject&KEY=인증 식으로 key값에 한글값을 직접 넣으면
검색칸에 이상한 문자가 표시됩니다 이런문제를 말하는거에요

  호빵
  2019-05-24(14:13)
캐릭 이미지
파라미터 값이 한글인 경우 인코딩 해서 사용 하셔야 합니다.
a.asp?a=<%= Server.urlencode("한글키워드") %>

  hikarubs
  2019-05-24(14:26)
캐릭 이미지
ㅠㅠ 글에서 얘기한것처럼 주소창에 사용자가 직접 타이핑칠 경우를 말하는거에요

이게 어느 사이트는 해결한 곳이 있긴 하더라고요..언어가 달라서 그런건지..

  hyunwoo211
  2019-05-24(16:32)
<%@Language="VBScript" CODEPAGE="949" %>
<%
Response.CharSet="euc-kr"
Session.codepage="949"
Response.codepage="949"
Response.ContentType="text/html;charset=euc-kr"
%>

<%

a = Request("a")
Response.Write a

%>

이렇게 파일을 만들어 익스플로러에서 테스트해보면 정상적으로 한글이 나타납니다.

이유는 익스폴로러는 euc-kr 로 파라미터를 전송하고 크롬계열은 인코딩하여 utf-8 로 파라미
터를 전송하기에 그러합니다. 원인을 기준으로 해결방법을 찾으시면 되겠습니다.

  hyunwoo211
  2019-05-24(16:34)
fiddler로 확인해보면 다음과 같습니다.

익스플로러에서 서버로 전송되는 값(덧글에 정상적으로 표시가 안되네요.)
localhost:8888 /site/test.asp?a=깨진한글값

크롬계열에서 서버로 전송되는 값
localhost:8888 /site/test.asp?a=%ED%95%9C%EA%B8%80

  hikarubs
  2019-05-30(11:21)
캐릭 이미지
페이지가 utf-8로 제작 되어있어서 이부분에서 어떻게 해야할지를 모르겠네요

euc-kr을 utf-8로 변환하는 함수를 찾아서 써봐도 안되고요..



제목 작성자 날짜 조회
utf-8 로 제작한 사이트에서 한글 피라미터를 주소창에서 직접 넣었.. (7) hikarubs 2019-05-24 569

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})