According to RFC 3986 section 2.2 the @ symbol is reserved. Section 2 of the RFC states ASCII hex values are the reference table for character replacements. The ASCII table shows the @ symbol to have a hex value of 40.
Therefore the @ symbol should be converted to a %40 in the web_convert_param function call when "SourceEncoding=PLAIN" and "TargetEncoding=URL".
Is this a bug or am I missing something here?
EDIT: I forgot to grammar ("it's" is not possessive)