2009-11-12 4 views
0

나는 다음과 같은 HTML에 문제가 발견 링크 : 대신페이지에서 %의 2B를 처리하기 위해 파이어 폭스가 없음은

<html> 
    <head> 
     <title>UrlEncode Test</title> 
    </head> 
    <body> 
     <a href="http://example.com/Process.php?OrderID=y%2bog%3d">Process</a> 
    </body> 
</html> 

대신 교체 % 2B + 와 파이어 폭스는 공백으로 그렇게를되도록 링크를 클릭하면 "http://example.com/Process.php?OrderID=y+og="대신 "http://example.com/Process.php?OrderID=y og ="로 이동합니다. IE와 Chrome은 전혀 문제가 없습니다. 파이어 폭스 만. 다른 사람이이 문제를 겪었으며 해결할 수 있었습니까?

답변

0

URL 인코딩 문제가 발생합니다. 귀하의 경우에는

, 나는 다음과 같이 URL을 형성하는 제안 :

http://example.com/Process.php?OrderID=y+bog%3d

을 당신이 실제로 방식으로 "+"기호를 사용하려는 경우로 보인다입니다. 귀하의 URL에 "+"기호가 있으면 문제가 없습니다.

+0

문제는 URL이 PHP의 urlencode(), ASP.NET의 HttpUtility.UrlEncode() 또는 Python의 urllib.quote()에 의해 생성 될 수 있으므로 원래 문자열의 "+"는 "% 2b"가됩니다. – Bullines

0

로컬 HTML 파일에서 제공하는 코드를 Firefox 3.5 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv : 1.9.1.5))에서 열었습니다. Gecko/20091102 Firefox/3.5.5), 링크 (상태 표시 줄의 "y + og"톱)를 클릭하고 클릭 한 후 위치 표시 줄에 http://example.com/Process.php?OrderID=y%2bog%3d을 포함 시켰습니다. 실제로 문제를 재현 할 수 있습니까? 어떤 OS에서 어떤 Firefox 버전이 필요합니까? 재현 할 정확한 단계?

+0

내가 사용하는 단계는 위의 HTML을 사용하여 로컬 파일을 저장하고 Windows Vista의 Firefox 3.5에서 엽니 다. – Bullines

+0

그리고? 링크를 가리킬 때 무엇을 보았습니까? 그것을 클릭 할 때? 내 생각 엔 Firefox의 지역 설정 및/또는 문자 인코딩 설정과 관련 될 수 있습니다. – Nickolay

0

% 2b 대신 "+"를 사용하는 것이 더 좋습니다. 하지만 여기서 추적은 % 2b에서 수행됩니다. 이 문자를 인코딩 및 리즈에서 % 2b로 변환하는 브라우저가 거의 없습니다. 이런 종류의 트랙을 가지고 있어야합니다.

또한 사용중인 메일 링 소프트웨어의 종류에 따라 다릅니다.

해결 방법은 "+"기호를 사용하여 링크를 만드는 것입니다.

Nithan urs/ QA 부서 - 전자 메일 마케팅.

관련 문제