익스플로러 GET으로 UTF-8 문자열 보낼 때.

송효진의 이미지

<form method="get">
    <input type="text" name="a" />
    <input type="submit" />
</form>

UTF-8 에서 이런식으로 문자열을 날리면,
표준 규약에 따라 그대로 보내게 됩니다.

UHC 였다면 %ED%A3 이런식으로 인코딩이 되겠지요.

문제는 익스플로러에서 그대로 보내지를 못하는것 같습니다.

/test.php?a=가나다

로 보내면
가?다 로 받아집니다.

불여우에서는 문제가 없습니다.

그대로 보내지 못할거면 인코딩이라도 해서 보내지...

구글을 보니 encodeURIComponent 로 인코딩 해서 날리더군요.

atdda의 이미지

잘됩니다마는.

head 에 아래의 코드를 삽입해보시지요.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

제가 테스트한 코드는 아래와 같습니다.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

<?=$_GET['a']?>


<form method="get">
    <input type="text" name="a" />
    <input type="submit" />
</form>
</body>
</html>

IE 6.0, XP SP2입니다.

아.. 이렇게 간다는 뜻입니다.

May The Force Be With You.

송효진의 이미지

문제되던 경우가 UTF-8로 수정한 킴스몰7 가입에서 문제가 있던거였는데요,
URL 에 그대로 한글을 튕겨주는 부분이 있네요.
UTF-8 이면 그대로 보내줘야 할텐데 깨뜨리는군요.
urlencode() 함수를 사용해 줬습니다.

왜 깨먹을까요?ㅠㅠ

atdda의 이미지

킴스몰? 7이 붙어 있는 것을 보니 쇼핑몰 빌더(같은 것)인 모양이지요?
여튼 잘 몰라서. :shock:

php가 프린트아웃한 html 소스라도 올려주시면 다른 분들이 봐주시지는 않을까요? :o

May The Force Be With You.

송효진의 이미지

아, 해결 했다는 거였습니다.

/?a=가나다 로 해도 되야 할텐데 안되는게 불만이라는거죠. :oops:

익명 사용자의 이미지

본문