Why is rawurldecode returning an empty string when decoding %D?
<p>This is driving me crazy. I'd like to know why in this PHP example code:</p>

<pre><code>$str = '&lt;p&gt;Delivery: %DELIVERY-STAMP%&lt;/p&gt;';
$str = rawurldecode($str);
echo $str;
</code></pre>

<p>The result is an empty string. But in this:</p>

<pre><code>$str = '&lt;p&gt;Delivery: % DELIVERY-STAMP%&lt;/p&gt;';
$str = rawurldecode($str);
echo $str;
</code></pre>

<p>The result result is</p>

<pre><code>&amp;lt;p&amp;gt;Delivery: % DELIVERY-STAMP%&amp;lt;/p&amp;gt;
</code></pre>

<p>The only difference is the extra space in % D. In other words, something really bad happens when the string "%D" is passed to rawurldecode() because I always get an empty string as result. This may be a bug? I couldn't find any reference regarding "%D" in the documentation. I'm using PHP 5.4.2 In the actual code I cannot avoid running rawurldecode(). Many thanks in advance!</p>
