html 유니코드 - URL의 유니 코드 문자




변환 문자코드 (7)

URL 체계에 따라 UTF-8로 인코딩 된 부분을 "중요하지 않음"으로 만들 수 있습니다. 예를 들어 스택 오버플로 URL을 보면 다음과 같은 형식입니다.

http://stackoverflow.com/questions/2742852/unicode-characters-in-urls

그러나 서버가 식별자 뒤에 잘못된 부분이 생기면 실제로는 신경 쓰지 않으므로 다음과 같이 작동합니다.

http://stackoverflow.com/questions/2742852/これは、これを日本語のテキストです

그래서 당신이 이런 레이아웃을 가지고 있다면, 식별자 뒤에 UTF-8을 잠재적으로 사용할 수 있습니다. 왜곡 된 문자는 UTF-8을 사용할 수 있습니다. 물론 이것은 아마도 다소 전문화 된 환경에서만 작동 할 것입니다 ...

2010 년에는 대형 웹 포털에서 UTF-8 문자가 포함 된 URL을 제공하겠습니까?

유니 코드 문자는 URL의 RFC에 따라 금지됩니다 ( here 참조). 표준 준수를 위해 백분율로 인코딩되어야합니다.

하지만 필자의 주된 요점은 멋지게 보이는 URL을 갖는 유일한 목적으로 인코딩되지 않은 문자를 제공하기 때문에 인코딩 비율이 떨어집니다.

모든 주요 브라우저는 RFC가 말하는 것과 상관없이 해당 URL을 구문 분석하는 것으로 보인다. 내 일반적인 인상은 웹 브라우저의 영역을 떠날 때 매우 불안정 해지는 것입니다.

  • 텍스트 파일, 전자 메일, 심지어 인코딩이 다른 웹 사이트에도 복사 + 붙여 넣기되는 URL
  • HTTP 클라이언트 라이브러리
  • 이국적인 브라우저, RSS 리더

내 인상이 문제가 여기에서 예상된다는 인상이 맞습니까? 따라서 비 기술적 인 잠재 고객에게 서비스를 제공하는 경우 실용적인 솔루션이 아니며 모든 링크가 따옴표로 묶이고 전달 된 경우에도 제대로 작동해야합니다.

HTML로 멋진 URL을 제공하는 마법 같은 방법이 있습니까?

http://www.example.com/düsseldorf?neighbourhood=Lörick

특수 문자를 그대로 복사 + 붙여 넣을 수 있지만 이전 클라이언트에서 다시 사용할 때 제대로 작동합니까?


나에게 이것은 올바른 방법이다.

    $linker = rawurldecode("$link");
    <a href="<?php echo $link;?>"   target="_blank"><?php echo $linker ;?></a>

이 방법은 효과적이며 링크가 올바르게 표시됩니다.

http://newspaper.annahar.com/article/121638 - جوزف-حرب-في-غاليري-جانين-ربيز-لوحاته-الجدية-تبحث-وتكتشف-وتفرض-الاحترام

링크 발견 :

http://www.galeriejaninerubeiz.com/newsite/news


이러한 모든 의견이 사실이므로 ICANN 아랍어 (페르시아어)와 한자를 도메인 이름으로 등록하는 한 모든 브라우저 제작 회사 (Microsoft, Mozilla, Apple 등)는 인코딩없이 URL에서 유니 코드를 지원하며 Google 등에서 검색 가능해야합니다.

따라서이 문제는 최대한 빨리 해결됩니다.


좋은 생각인지는 모르지만 다른 의견에서 언급했듯이 해석 할 때 많은 유니 코드 문자 가 HTML5 URL에서 유효합니다 .

예 : href 문서 http://www.w3.org/TR/html5/links.html#attr-hyperlink-href :

a 및 area 요소의 href 속성은 공백으로 둘러싸인 유효한 URL 값이어야합니다.

그런 다음 "유효한 URL"의 정의는 URL 코드 포인트 를 다음과 같이 정의하는 http://url.spec.whatwg.org/ 가리 킵니다 .

ASCII 문자 숫자 식, "!", "$", "&", "", "(", ")", "*", "+" 범위 U + 00A0 ~ U + D7FF, U + E000 ~ U + FDCF 범위의 ":", ";", "=", "?", "@", "_" , U + FDF0 ~ U + FFFD, U + 10000 ~ U + 1FFFD, U + 20000 ~ U + 2FFFD, U + 30000 ~ U + 3FFFD, U + 40000 ~ U + 4FFFD, U + 50000 ~ U + 5FFFD, U +60000 ~ U + 6FFFD, U + 70000 ~ U + 7FFFD, U + 80000 ~ U + 8FFFD, U + 90000 ~ U + 9FFFD, U + A0000 ~ U + AFFFD, U + B0000 ~ U + BFFFD, U + C0000 U + CFFFD, U + D0000 ~ U + DFFFD, U + E1000 ~ U + EFFFD, U + F0000 ~ U + FFFFD, U + 100000 ~ U + 10FFFD.

"URL 코드 포인트"라는 용어는 파싱 알고리즘의 몇 부분에서 사용됩니다 (예 : 상대 경로 상태) .

c가 URL 코드 포인트가 아니고 "%"가 아닌 경우 구문 분석 오류입니다.

또한 유효성 검사기 http://validator.w3.org/"你好" 와 같은 URL을 전달하고 공백 "ab" 와 같은 문자가 포함 된 URL은 전달하지 않습니다.


백분율 인코딩을 사용하십시오. 최신 브라우저는 디스플레이 및 붙여 넣기 문제를 처리하고 사람이 읽을 수 있도록합니다. E. g. http://ko.wikipedia.org/wiki/위키백과:대문

편집 : Firefox에서 이러한 URL을 복사하면 클립 보드에 백분율로 인코딩 된 양식 (일반적으로 좋은 것)이 보관되지만 일부만 복사하면 인코딩되지 않은 상태로 유지됩니다.


백분율로 인코딩 된 양식을 사용하십시오 . 예를 들어 Windows XP를 실행하는 일부 (주로 오래된) 컴퓨터는 유니 코드가 아니라 ISO 인코딩을 지원합니다. 이것이 백분율로 인코딩 된 URL이 발명 된 이유입니다. 또한 쉽게 입력 할 수없는 문자가 포함 된 사용자에게 종이에 인쇄 된 URL을 제공하면 해당 사용자는 입력하기가 어려울 수도 있고 무시할 수도 있습니다. 백분율로 인코딩 된 양식은 심지어 가장 오래된 컴퓨터 중 많은 컴퓨터에서 사용할 수 있습니다 (인터넷을 지원하지는 않지만).

단점은 있지만 인코딩 된 문자는 원본보다 길기 때문에 실제로 긴 URL이 생성 될 수 있습니다. 하지만 그냥 무시하거나 URL 단축키 를 사용하십시오 (이 경우 goo.gl 을 추천합니다.이 경우 길이가 13자인 URL을 사용합니다). 또한 Google 계정에 등록하지 않으려면 bit.ly를 사용하십시오 (bit.ly는 길이가 약간 길며 길이는 14 자입니다).


URL 문자열 인코딩

    var url = $(location).attr('href'); //get current url
    //OR
    var url = 'folder/index.html?param=#23dd&noob=yes'; //or specify one

var encodedUrl = encodeURIComponent(url);
console.log(encodedUrl);
//outputs folder%2Findex.html%3Fparam%3D%2323dd%26noob%3Dyes


for more info go http://www.sitepoint.com/jquery-decode-url-string




html url unicode utf-8