アトム形式の日付を必要とする Google カレンダーのクエリ文字列を作成しています。
私はphp 5.1.6とdate(DATE_ATOM)を使用して、正しくフォーマットされた現在の日付を生成しています。したがって、たとえば、クエリのエンコードされていない URL 部分には次のものがあります。
start-max=2010-09-02T10:25:58+01:00
これをrawurlencodeする必要があり、それは次のようになります
start-max%3D2010-09-02T11%253A37%253A59%252B01%253A00
これを rawurldecode すると、次のようになります
start-max=2010-09-02T11%3A39%3A35%2B01%3A00
そのため、適切にデコードされておらず、Google はクエリを拒否しています...
クエリを 2 回 rawurldecode すると、日付はデコードされますが、元の '+' はスペースに置き換えられます (上記の文字列ではまだエンコードされていますが)。
同じことが urlencode/urldecode にも当てはまります:(
この日付形式で URL をエンコード/デコードする方法はありますか?
乾杯