1 개요
space | %20 | ( | %28 | : | %3A | [ | %5B | ` | %60 |
! | %21 | ) | %29 | ; | %3B | \\ | %5C | %7D | |
$ | %24 | , | %2C | > | %3E | _ | %5F | ~ | %7E |
% | %25 | - | %2D | ? | %3F | . | . | . | . |
& | %26 | . | %2E | @ | %40 | . | . | . | . |
' | %27 | / | %2F | . | . | . | . | . | . |
퍼센트 인코딩이라고도하며, URL Encoding에 사용된다. 그 정체는 %뒤에 아스키 코드의 hex(16진수)값을 붙여준 것.
URL은 스페이스(space)를 포함할 수 없기 때문에, 스페이스는 %20으로 대체되는 것이 보통이다.
2 유니코드 문자의 URL escape code
위 표는 ASCII 코드 문자를 URL encoding한 것이다. 유니코드 문자의 경우 일반적으로 UTF-8 방식을 따른다. (ASCII 문자는 UTF-8과 호환이 된다.)
http://namu.wiki/w/나무위키
크롬이나 파이어폭스에서 주소창이 위와 같이 나타난다고 하면 URL encoding 과정은 아래와 같다.
글자 | 유니코드 | UTF-8 | URL escape code |
나 | U+B098 | EB 82 98 | %EB%82%98 |
무 | U+BB34 | EB AC B4 | %EB%AC%B4 |
위 | U+C704 | EC 9C 84 | %EC%9C%84 |
키 | U+D0A4 | ED 82 A4 | %ED%82%A4 |
참고로 한글은 UTF-8 기준으로 3바이트를 할당하기 때문에 위와 같이 글자 마디 하나당 %XX패턴이 세 번씩 나타난다.
인코딩 결과는 아래와 같이 나온다.
http://namu.wiki/w/%EB%82%98%EB%AC%B4%EC%9C%84%ED%82%A4
3 나무위키의 URL escape code
나무위키에서는 링크를 만들 때 항목명에 들어간 특수문자를 URL escape code로 풀어줄 필요가 없다. 단 # 기호는 특별처리한다.
록맨 & 포르테 ([[록맨 & 포르테]])
도대체 왜?인구단 ([[도대체 왜?인구단]])
오히려 URL escape code를 사용했을 때 문제가 생긴다.
록맨 & 포르테 ([[록맨%20%26%20포르테|록맨 & 포르테]])
나무위키 본진에서 위 링크를 클릭하면 록맨%20%26%20포르테항목으로 연결을 시도하다가 실패할 것이다. 이러한 현상이 일어나는 이유는 문서 작성/수정 시점인 2015년 6월 현재 나무위키의 엔진이 링크의 항목명에 포함된 %를 %25로 치환하여 인식하기 때문인 것으로 추정된다(주소창에는 ".../록맨%2520%2526%2520포르테"로 나온다).
엔진이 다른 나무위키 미러에서는 위 링크가 대체로 정상 작동한다. (이름에 &가 들어간 항목은 빼고.)
샵 기호는 URL anchor를 연결하기 위해 쓰이므로 페이지 이름에 # 문자가 포함된 경우는 [[C#]]와 같은 식이 아닌 [[C\#]]을 쓴다. 모니위키의 경우에는 URL escape code를 이용하여 [[C%23|C#]]으로 써야 한다.
3.1 여담 : 문제의 GOTO
나무위키에서는 GOTO 항목으로 가는 링크를 만들 때 [[GOTO]]를 쓸 수 있다.[1]
- 대신에 [GOTO] 매크로는 나무위키에서 사용할 수 없게 되었다. 2015년 6월 1일 일부 문법 변경 안내 공지 참조. [2]
- [[%47%4F%54%4F|GOTO]]처럼 URL escape code로 풀어주는 방법은 사용할 수 없다. 앞서 언급한, 나무위키 엔진이 %를 %25로 치환하는 문제가 있기 때문.
대략 2015년 5월까지는 나무위키 미러에서 이 항목을 보았을 때# [[GOTO]]가 문서 이동 창을 띄운 것을 확인할 수 있었으나, 수정 시점인 2015년 7월 현재 이 문제는 더 이상 확인되지 않는다. 나무위키의 문법 변경에 발맞추어 엔진을 고친 듯하다. 만약 당신이 미러를 사용중이고 이 문서가 나무위키 본진에서 어떻게 보이는 지 궁금하다면 이 링크#를 타고 들어오라.
3.2 여담(이런 수정이 필요하다.)
- 나무위키 본진
- 항목명의 %가 %25로 치환되는 문제 수정.
- 나무위키 미러
- 항목명의 &가 & amp ;로 치환되는 문제 : 미러 엔진이 특수문자 &를 인식하는 데 문제가 있는지, 록맨 \& 포르테의 &가 & amp ;로 치환되어 링크가 제대로 되지 않고 주소가 깨진다. 역링크 목록도 뜨지 않는다. 그나마 다행인 건, 검색창에 문서명을 입력하면 접속할 수 있다. 이 문제는 2015년 7월에 마지막으로 확인되었다)
- 본문의 [[wiki:"문서" 출력]], [[wiki:"문서]], [["문서"]]가 좌우에 3개씩 입력한 중괄호를 무시하고 링크로 인식되는 문제를 수정바람. 이게 본진에서 어떻게 보이는지 궁금한 미러 사용자는 이 링크#, 이게 미러에서 어떻게 보이는지 궁금한 본진 사용자는 이 링크#를 타고 확인하라.
- 위키페어리
- ↑ 리그베다 위키는 모니위키 기반이었고, 모니위키에서 대괄호 두 개짜리는 원래 매크로 문법인데, 미디어위키식 링크를 도입하면서 매크로 문법과 같이 쓸 수 없는 경우가 생겼기 때문이다. 이 때문에 GOTO항목으로 가기 위해 대괄호 두 개짜리 링크를 걸면 GOTO 매크로가 작동하는 문제가 발생했고... 더 이상의 자세한 설명은 생략한다.
- ↑ 이 문법 변경으로 인해 [문서], [문서|출력], [[wiki:"문서" 출력]], [[wiki:"문서]], [["문서"]]는 모두 막혔다.