You need to use URL encoding. You can use one of the URI modules or if you want to roll your own these are the algorithms. Essentially you encode as %HH where HH is the 2 char hex representation of the char code. Spaces can be encoded as %20 or +. To display 'odd' characters correctly in a browser you may need to encode them using HTML::Entities.
sub url_decode { my ( $decode ) = @_; return '' unless defined $decode; $decode =~ tr/+/ /; $decode =~ s/%([a-fA-F0-9]{2})/ pack "C", hex $1 /eg; return $decode; } # RFC 1738 # Only alphanumerics [0-9a-zA-Z], the special characters $-_.+!*'(), # and reserved characters used for their reserved purposes # may be used unencoded within a URL. we encode more because of issues # that some browsers have with the RFC sub url_encode { my ( $encode ) = @_; return '' unless defined $encode; $encode =~ s/([^a-zA-Z0-9_. -])/ uc sprintf "%%%02x",ord $1 /eg; $encode =~ tr/ /+/; return $encode; }
cheers
tachyon
In reply to Re: text encoding
by tachyon
in thread text encoding
by bhcesl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |