| 
	
 | 
 Posted by Andy Hassall on 11/18/05 01:48 
On 17 Nov 2005 11:16:24 -0800, "black francis" <cristian.melendez@gmail.com> 
wrote: 
 
>again, it's the browser the one who 'encodes' the url, not you. 
> 
>try-n-see: 
><a href="example.php?var=one word"> turns into 
>"example.php?var=one+word" in the address bar. 
 
 That's the browser (whichever one you're using) attempting to compensate for 
your badly encoded URL. This is not behaviour you should rely on. 
 
 In fact I don't know what browser you're using, because IE, Firefox and Opera 
attempt to correct the invalid URL by converting the space to %20, not +. 
 
 Putting that source through an HTML validator (HTML Tidy) produces: 
 
line 1 column 1 - Warning: <a> escaping malformed URI reference 
 
error: <...> escaping malformed URI reference 
Cause: 
 
An URI contains non-authorized characters. Or the quotes around the URI are not 
closed. 
Solution: 
 
Correct the URI. 
Samples: 
 
error: <a> escaping malformed URI reference 
 
BAD   <a href="http://www.mozilla.org/one space.html">space</a> 
GOOD  <a href="http://www.mozilla.org/one%20space.html">space</a> 
GOOD  <a href="http://www.mozilla.org/one+space.html">space</a> 
 
BAD   <a href="http://www.w3c.org>w3c</a> 
GOOD  <a href="http://www.w3c.org">w3c</a> 
 
For the first example, a space should not be contained in URL. (Even if it 
works in all browsers...). This is described in detail in the RFC1738 (Look for 
Unsafe) 
References: 
 
RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax" 
RFC1738 - Uniform Resource Locators 
--  
Andy Hassall :: andy@andyh.co.uk :: http://www.andyh.co.uk 
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool
 
  
Navigation:
[Reply to this message] 
 |