2

WebDAV 経由で Exchange サーバーにクエリを実行するための PHP サービスを作成しています。このサービスは約 1 か月間問題なく稼働していますが、今日、次の件名の電子メールがメールボックスに届いたときに問題が発生しました。

FW: 日次承認レポート: ベンダー/マスター 007297

メッセージはファイル「FW: Daily Approval Report: Vendor/Master 007297.EML」に保存され、次の URL で参照されます。

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

rawurlencode()メッセージ ファイル名を対応する URL に変換するために PHP 関数を使用していましたが、この場合rawurlencode()、一致しない文字列が返されます。

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

私は Exchange の専門家ではなく、そのエンコーディングを一致させる方法がわかりません。自分の関数を書くために使用できるマッピングがあるかどうか誰かに教えてもらえますか? 単純にコロンを置き換え/\_xF8FF\_スキップすると、1 か月後にこのエラーを追跡することにつながると思いますが、Google は例外の完全なリストを作成するのに役立ちませんでした.

4

2 に答える 2

3

少しググってみましたが、お探しのキャラクターの完全なリファレンスを見つけることができませんでした.
私が発見した唯一のことは、次の 5 つの文字が Exchange で特別なエンコーディングを持っていることです。

  • スラッシュ「/」は _xF8FF_ としてエンコードされます
  • 疑問符「?」_x003F_ としてエンコードされます
  • バックスラッシュ '\' は _xF8FE_ としてエンコードされます
  • チルダ '~' は _x007E_ としてエンコードされます
  • ユーロ記号「€」は _x0080_ としてエンコードされます

Ximian Connector for Microsoft Exchangeのソース、より正確には「e2k_uri_append_encoded」関数の 280 行を参照すると役立つかもしれません。Ximian
Connector を使用すると、Microsoft と通信することで Ximian Evolution を Microsoft Exchange クライアントとして機能させることができます。 WebDAV プロトコルを介してサーバーを交換するため、遭遇したのとまったく同じ問題に対処する必要があります。

于 2012-07-28T16:59:34.820 に答える
1

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

于 2012-07-31T10:18:47.133 に答える