in reply to Re: Perl script to decode SQL ENCODE function
in thread Perl script to decode MySQL ENCODE() function

I changed topic I was thinking about MySQL ENCODE() function. Here is example: string test after ENCODE() => ŒÃ
  • Comment on Re^2: Perl script to decode SQL ENCODE function

Replies are listed 'Best First'.
Re^3: Perl script to decode SQL ENCODE function
by Loops (Curate) on Jul 22, 2013 at 12:23 UTC

    Could you give an actual code example, i'm not sure what you're saying. It appears from the MySQL documentation that the ENCODE function requires 2 parameters, but you haven't mentioned that. Anyway, likely the best way is to just connect to MySQL and perform the operation, for example:

    use strict; use warnings; use DBI; my $dsn = 'DBI:mysql:host=localhost'; my $dbh = DBI->connect($dsn); my $sth = $dbh->prepare("SELECT DECODE('encodedcontent', 'secretvalue' +)"); $sth->execute; my $decoded = $sth->fetchrow; print $decoded;
      There is problem: SELECT ENCODE('test','test') returns ?üÔÚ but SELECT DECODE('?üÔÚ','test') doesn't return test but ttZ¦ô what is wrong ?

        Really can't say. Maybe a character encoding problem if you're copy-and-pasting. The following code works here:

        use strict; use warnings; use DBI; my $db = DBI->connect('DBI:mysql:host=localhost'); my ($encoded) = $db->selectrow_array("SELECT ENCODE('ToBeHidden', 'sec +retvalue')"); my ($decoded) = $db->selectrow_array("SELECT DECODE('$encoded', 'secre +tvalue')"); print $decoded; # prints --> ToBeHidden
Re^3: Perl script to decode SQL ENCODE function
by daxim (Curate) on Jul 22, 2013 at 12:30 UTC