2012-05-02 4 views
2

WebDAV를 통해 Exchange 서버를 쿼리하는 PHP 서비스를 작성하고 있습니다.MSExchange URL 인코딩

FW : : 매일 승인 보고서 : 다음과 같은 제목 줄과 전자 메일 사서함에 도착했을 때이 서비스가 문제없이 약 한 달 라이브 있었지만 오늘 딸꾹질을 경험 공급 업체/마스터 007,297

메시지가 파일 "FW : 매일 승인 보고서 : 공급 업체/마스터 007297.EML"에 저장되며 같은 URL을 통해 참조 :

FW:%20Daily%20Approval%20Report:%20Vendor_xF8FF_Master%20007297.EML 

내가 번역하는 PHP rawurlencode() 기능을 사용하고있었습니다 메시 GE의 해당 URL 대응에 파일 이름, 그러나 일치하지 않는 문자열을 반환 rawurlencode()이 경우 :

FW%3A%20Daily%20Approval%20Report%3A%20Vendor%2FMaster%20007297.EML 

나는 교류와 더 전문가는 아니지만 그것은 인코딩 경기하는 방법을 모르겠어요. 내 자신의 함수를 작성하는 데 사용할 수있는 매핑이 있는지 누군가가 말해 줄 수 있습니까? 단지 /\_xF8FF\_으로 바꾸고 콜론을 건너 뛰면이 오류가 한 달 후에 다시 추적되지만 Google은 예외 전체 목록을 작성하는 데 도움이되지 않았습니다.

+0

궁금한 점이 있으시면, 저의 동료는 지난주에 이것을 쫓아 냈습니다. 더 나은 방법이어야합니다. –

답변

3

나는 인터넷 검색을 해봤지만 찾고자하는 문자에 대한 완전한 참조를 찾을 수 없었습니다. 내가 발견 한
있는 유일한 방법은 다음과 같은 다섯 개 가지 문자 Exchange의 특별한 인코딩해야한다는 것입니다 : '?'

  • 앞으로가 '/'
  • 물음표 _xF8FF_로 인코딩 된 슬래시를 _x003F_
  • 백 슬래시로 인코딩됩니다 '\'_xF8FE_로 ​​인코딩됩니다
  • 물결표 '~'는 _x007E_로 인코딩됩니다
  • 기호 '€'는 어쩌면 그것은 가지고 도움이 될 수 _x0080_

로 인코딩됩니다

  • 유로 Ximian Connector for Microsoft Exchange의 the source, 더 정확하게는 "e2k_uri_append_encoded"함수 (줄 280)를 살펴보십시오.
    Ximian Connector를 사용하면 Ximian Evolution이 WebDAV를 통해 Microsoft Exchange 서버와 통신하여 Microsoft Exchange 클라이언트로 작동 할 수 있습니다 프로토콜이므로 de 정확히 같은 문제가 발생했습니다.

  • +1

    Ximian Connector 소스에서 가져온 것은 천재의 획입니다. –

    1

    어떤 Exchange Server를 사용합니까? WebDAV는 더 이상 지원되지 않습니다. ES2007은 WebDAV 및 Exchange 웹 서비스를 지원합니다. ES2010은 Exchange 웹 서비스 만 지원합니다. 인코딩은 고정되어 있습니다 .-)

    +0

    Exchange 2010에서 WebDAV가 더 이상 사용되지 않는다는 것을 알지 못했습니다. 우리가 ES2003에서 ES2007로 마이그레이션하는 과정에 있다고 생각합니다. 다행히 모든 것을 ews로 이전 할 시간이 있습니다. –