url엔코딩되어져있구여 utf8로엔코딩되어있는경우와 안되어있는

jjjjrr의 이미지

안녕하세요
웹브라우저에서 url 로보낸값입니다
/우리122.swf 이글자를 브라우저에서 보내면
/%EC%9A%B0%EB%A6%AC122.swf
이렇게됩니다
url엔코딩되어져있구여 utf8로엔코딩되어있읍니다
근데여 다른 한글과섞인글자들은 위와같이 엔코딩되어져서
보내지는데여
/우리123.swf 이글자를 브라우저에서보내면
엔코딩 되지도않고 그냥 이상태로 그대로옵니다
엔코딩되어야정상인데여
다른글자들을테스트해보면
전부 엔코딩되어져서 옵니다
근데 위의 우리123.swf 이글자만 그냥그대로 보이는데
왜이런지.....
엔코딩되어져오는것은 디코딩처리를 해서 정상적으로 변환을 시켰는데여
우리123.swf 는 엔코딩되었는줄알고 다시디코딩처리를 하니 엉뚱한글자로변해버립니다
이런경우가 계속생기면 안되는데
왜 이런경우가 생기는지
조언부탁드립니다

hackexpert의 이미지

질문 내용이 정확하게 이해가 되지 않아서 나름대로 해석을 해보았습니다..

브라우져에서 /%EC%9A%B0%EB%A6%AC122.swf 로 요청을 하였는데, 프로그램에서 저 변수를 받아서 쓰려고 보니까 이미 우리122.swf 변환되어 값이 들어 왔다는 말이 맞으신지..

맞다면.. 어떤 것으로 프로그램을 짜고 계신지를 먼저 알아야 할 것 같습니다. servlet 같은 경우는 알아서 변환을 시켜주니까 프로그래머가 손 댈 일이 없죠..

그리고 우리122.swf 인코딩 되지 않고 그대로 들어왔다고해도 문제가 생길 것 같지는 않습니다. %문자가 없는 이상 디코딩하려 하지 않을테니까요..

jjjjrr의 이미지

웹서버를 만들고있읍니다
/%EC%9A%B0%EB%A6%AC122.swf 이 브라우저에서보내온
url 입니다 한글이 url 인코딩과 utf8 인코딩된상태입니다
그래서 디코딩하는코드를 넣었읍니다
근데 똑같은조건에서 우리122.swf 은 인코딩되지않고 그대로 들어왔는데여
문제는 "우리123.swf" 을 utf8코드로인식하고 디코딩해버린다는겁니다
제가 궁금하게생각하는부분이
왜 브라우저에서 일관되게 보내지않고 어떤글자는 디코딩하고 어떤글자는
그냥보내는가 하는점입니다
나름대로 utl8인가 아닌가를 구별하는코드를 구현하였는데
잘 작동이 되는데 "우리123.swf " 는 utf8 로 인식해버리는데 참 이상합니다
브라우저 셋팅도 utf8로보냄으로셋팅되어있는데
utf8로보내야되는데 글자가 "우리123.swf " 이상태가 utf8코드인건지
참 헷갈립니다
한글을 utf8로보내면 글자가 깨어져보여야정상인데
정상적으로 보이면서 utf8코드인지...

Seyong의 이미지

제가 우리123.swf 를 테스트 해 보았는데 제대로 인코딩되어 나갑니다.

MSIE 6.0.2800.1106 이구요. URL을 항상 UTF-8로 보냄에 체크되어 있습니다.

제 홈페이지가 UTF-8을 쓰고 있는데 우리123.swf를 request하니

우리123.swf Not Found

저렇게 잘 나오네요.

브라우저의 오동작은 아닌 것 같고, 다른 문제가 있는 것 같습니다.

드리고 싶은 말씀은 브라우저가 무조건 utf-8, url 인코딩을 해서 보낼거라는 가정은 좀 위험하지 않나 싶습니다.

어떤 브라우저를 제작하시는지 몰라서 말씀드리기가 그렇긴 하지만요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.