2011-04-26 3 views
1

저는 PHP와 자바 스크립트간에 교환이 가능한 [URL 인코딩 및 디코딩에 사용되는] 함수를 찾고있었습니다. (자바 스크립트에서 URL을 인코딩하고 PHP에서 디코딩 할 수 있으며 그 반대의 경우도 있습니다.) 많은 해결책이 있습니다. , escape() 및 unescape(); javascript에는 encodeURI() 및 decodeURI(), PHP에는 urlencode() 및 urldecode()가 있지만 완벽하게 함께 작동하는 쌍은 없습니다.Javascript 및 PHP에서 URL 인코딩시 동일한 기능을 수행합니까?

예 :

내가 사용하는 PHP 페이지에 대한 아약스 jQuery를 사용하여 POST 데이터를 보낼 및 데이터는 특수 문자를 혼합 할 수 있기 때문에 내가 PHP와 자바 스크립트에서 동일하게 작동하는 기능이 필요한 이유, 그건
$.ajax{url: "test.php", data: "http://www.thisURLContainSpecialCharac.ter"} 

위의 코드를 참조하십시오. 데이터에 특수 문자가 들어있어 문제가 발생할 수 있습니다.

나는 어떤 조언을 주셔서 감사합니다 :). 감사. [x]

답변

1

자바 스크립트의 escape 기능은 URL 인코딩이 아니기 때문에 사용하지 않으려합니다. 실패한 예제는 http://xkr.us/articles/javascript/encode-compare/을 참조하십시오.

자바 스크립트의 encodeURIComponent 가정 인코딩합니다 UTF-8, 당신은 그것을 사용하고 요청이 UTF-8의 콘텐츠 유형이 있는지 확인하십시오, 그래서 만약 당신이 사용하는 PHP에서 디코딩 할 수 있어야한다

utf8_decode(urldecode($yourString)).

+0

예를 들어 주시겠습니까? js 및 PHP? [x] – xx3004

+1

어떻게 데이터를 보내시겠습니까? GET URL이나 POST 메시지 본문에 전달합니까? –

+0

@Mike Samuel : 나는 POST를 사용하지만 두 가지 방법으로 작동합니다. 왜 중요합니까? [x] – xx3004

관련 문제