2013-05-20 2 views
0

URL 안에 프랑스어 문자를 인코딩하려고합니다.encodeURIComponent 및 encodeURI

URL입니다 자바 스크립트로 구성되어, 다음, 나는 URL을 열 window.open를 사용합니다. 예를 들어

, 프랑스의 문자가에 인코딩되는 1 실행하는, 내가 볼 수없는

var alt_title='Thierry Frémaux: Les confiden' 
window.open('http://example.com/alt_title'=+encodeURIComponent(altCatTit));

  • window.open(encodeURI('http://example.com/alt_title='+encodeURIComponent(altCatTit))

    1. 새로운 팝업 URL.

      2 실행하는, 내가 그들을 인코딩되는 것을 볼 않는 경우. 나는 새로운 팝업의 URL로 인코딩로 표시하기 위해서는 그들을 두 번 인코딩해야 왜

      당신이 말해 주 시겠어요?

      그것은 URL에 특수 문자를 인코딩하는 올바른 방법인가?

      은 오타의 죄송 고정!

    +1

    변수를 인코딩에 사용 된 window.open()'가 할당 한 것과 동일하지 않습니다, 당신은 할당의 값 주위에 따옴표를 놓치고있어. 그것에 대한 구문 오류가 발생하지 않습니까? – Barmar

    +0

    스크립트에 매개 변수를 전달하기 전에 자동으로 디코딩되기 때문에 인코딩 된 문자는 서버 스크립트에 표시되지 않습니다. – Barmar

    +0

    함께 맞지 않는 코드 조각이 있고 처음 구문 오류가 있기 때문에 진행 상황을 이해하기 어렵습니다. – akonsu

    답변

    0

    당신이 찾는거야?

    var s = 'Thierry Frémaux: Les confiden' 
    var url = 'http://example.com/?alt_title=' + encodeURIComponent(s) 
    
    +0

    예. 실제로이 window.open ('http://example.com/?alt_title='+에 encodeURIComponent ('티에리 프레 모 : 레 confiden')를) 할 때 이러한 문자는 새로운으로 인코딩 할 수 표시되지 않습니다 팝업의 URL. é I이, window.open (에 encodeURI ('http://example.com/?alt_title='+에 encodeURIComponent ('티에리 프레 모 : 레 confiden을'))) 할 때 é 인 코드 올바르게 – dwong

    +0

    이 표시되기 전에 브라우저가이를 디코딩하기 때문에? HTTP 콘솔을 확인하고 요청에 올바른 URL이 있는지 확인하십시오. – akonsu

    +0

    아 ~ 알았어. 그래서 URL에 인코딩 된 문자를 표시하려면 URL을 두 번 인코딩해야합니까? – dwong

    0

    에 encodeURIComponent는()는 인수의 URI는 (예를 들면 프로토콜, 호스트, 경로 또는 질의 스트링과 같은) 부분이라고 가정한다. 따라서 URI 부분을 구분하는 데 사용되는 구두점 문자를 이스케이프 처리합니다.

    에 encodeURI()는`기존 URL을

    관련 문제