Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^3: UTF8 URI Escaping

by Eliya (Vicar)
on Apr 11, 2012 at 18:54 UTC ( #964602=note: print w/replies, xml ) Need Help??


in reply to Re^2: UTF8 URI Escaping
in thread UTF8 URI Escaping

... I _still_ get: \xc2\xa3

How do you tell?  Did you print it to somewhere, etc.?  What exactly do you finally want to achieve?

In case the idea is to convert the pound sign to Latin-1 encoding, you'd need to encode the decoded string again:

$v = encode('ISO-8859-1', $v);

Here's a complete example (note the differences in the PV representations in the 3 dumps):

#!/usr/bin/perl -w use strict; use Encode; use Devel::Peek; my $v= "%C2%A3"; $v =~ s/%([a-fA-F0-9]{2})/pack('C', hex($1))/eg; Dump $v; my $decoded = decode("UTF-8", $v); Dump $decoded; my $encoded = encode("ISO-8859-1", $decoded); Dump $encoded; __END__ SV = PVMG(0xf98470) at 0xf15d08 REFCNT = 1 FLAGS = (PADMY,SMG,POK,pPOK) IV = 0 NV = 0 PV = 0xf46af0 "\302\243"\0 CUR = 2 LEN = 8 MAGIC = 0xf0f350 MG_VIRTUAL = &PL_vtbl_mglob MG_TYPE = PERL_MAGIC_regex_global(g) MG_LEN = -1 SV = PV(0xeee388) at 0xf16080 REFCNT = 1 FLAGS = (PADMY,POK,pPOK,UTF8) PV = 0xfe40c0 "\302\243"\0 [UTF8 "\x{a3}"] CUR = 2 LEN = 8 SV = PV(0xeee448) at 0xf16110 REFCNT = 1 FLAGS = (PADMY,POK,pPOK) PV = 0xfd44c0 "\243"\0 CUR = 1 LEN = 8

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://964602]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2016-12-05 22:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (94 votes). Check out past polls.