2011-02-03 4 views
1

이 같은 유니 코드 데이터를 인코딩 UTF-8과 함께 위치 헤더를 보낸다 제대로 위치 헤더를 리디렉션하지.IE 유니 코드 문자 내 사이트에

다른 모든 브라우저, 그것은

나는 우분투 박스에 아파치 2를 실행하고있어 위치 헤더에서 URL이 사이트의 도메인 이름을 포함입니다 http://sr.wikipedia.org/sr/Србија로 사용자를 보냅니다. 사이트는 Content-Type에 text/html; charset=utf-8을 보냅니다.

이 나는 ​​시도했다 :

  • 및 httpd.conf에 AddDefaultCharset utf-8 지시문을 추가.
  • rawurlencode()을 사용하여 위치 URL 인코딩
  • Location 헤더 앞에 header("Content-Type: text/html; charset=utf-8");을 보냅니다.
  • utf8_encode()utf8_decode()

그러나 즉 통해 URL 보내기 GZIP의 콘텐츠 인코딩

  • 끄기 여전히 URL 인코딩을 인식하지 못합니다. 어떤 제안?

  • 답변

    2

    당신은 헤더 필드 이름을 잊어 제대로 rawurlencode를 사용하여 URI 경로를 인코딩해야합니다

    header("Location: http://sr.wikipedia.org/sr/".rawurlencode("Србија")); 
    
    +0

    내가 ... 마법처럼 작동 할 수 생각하지 않았는지 모르겠어요! 감사! – PureForm

    +0

    또한, 내가 왜 "Location :"부분을 남겨놓고 있는지 확신 할 수 없습니다 ... 복사 및 붙여 넣기 작업이 좋지 않습니다. – PureForm

    +0

    @Gumbo - C#에서 같은 문제가 발생했습니다. 설명 할 수 있습니까? 이 대신에, 그것은 정말 도움이 될 것입니다 – user1006544