2012-05-02 13 views
2

WebDAV経由でExchangeサーバーを照会するためのPHPサービスを作成しています。MSExchange URLエンコーディング

FW:デイリー承認レポート:以下の件名行を持つ電子メールがメールボックスに到着したときに、このサービスは問題なく、ほぼ月のライブでしたが、今日しゃっくりを経験しているベンダー/マスター007297

メッセージがファイルに保存され、私は翻訳するためにPHP rawurlencode()機能を使用していた

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

:「FW:毎日承認レポート:ベンダー/マスター007297.EML」として、URLを介して参照されますメッセージGEのそのURLの対応にファイル名が、不一致の文字列を返すrawurlencode()この場合:

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

私は、Exchangeとは第一人者だん、それはエンコードの試合するのか分かりません。私自身の関数を書くために使えるマッピングがあるかどうか誰かに教えてもらえますか?私は単に/\_xF8FF\_に置き換えてコロンをスキップすると、今月からこのエラーを再度追跡することになりますが、Googleは例外の完全なリストを作成するのに役立っていません。

+0

私の同僚は先週、これを追いかけてしまい、私に持ってきてしまいました。より良い方法でなければならない。 –

答えて

3

私はちょっと調べましたが、探している文字の完全な参照を見つけることができませんでした。
私が発見した唯一のことは、以下の5つの文字は、Exchangeで特別なエンコーディングを持っていることです。

  • フォワードは「/」は疑問符_xF8FF_
  • としてエンコードされたスラッシュ「?」ユーロ記号「€」が多分それは持って助けることができる_x0080_

としてエンコードされ

  • _x007E_
  • として_xF8FE_
  • チルダ「〜」がエンコードされているとしてバックスラッシュは「\」コード化され
  • _x003F_
  • としてエンコードされますXimian Connector for Microsoft Exchangeの the source、より正確には、280行目の " e2k_uri_append_encoded"機能を参照してください。
    Ximian Connectorを使用すると、Ximian EvolutionはWebDAV経由でMicrosoft Exchangeサーバーと通信することができますプロトコルであるため、deあなたが遭遇したのと同じ問題を抱えています。

    +1

    Ximianコネクタソースからの描画は、天才のストロークです。 –

    1

    どのExchange Serverを使用していますか? WebDAVはもはやサポートされていないことに注意してください。 ES2007はWebDAVとExchange Webサービスをサポートしています。 ES2010は、Exchange Webサービスのみをサポートします。 ただし、エンコードは固定されています;-)

    +0

    Exchange 2010のWebDAVが廃止されたことは知らなかった。私たちはES2003からES2007への移行中であると信じています。だからうまくいけばすべてをewsに移す時間があります。 –

    関連する問題