Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Perl script to decode SQL ENCODE function

by Martin90 (Sexton)
on Jul 22, 2013 at 12:00 UTC ( #1045639=note: print w/replies, xml ) Need Help??

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 (Chaplain) on Jul 22, 2013 at 12:30 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1045639]
[Corion]: Personally, I would do the decoding of data in the program and not in the filehandle
[Corion]: ambrus: Maybe a record-based file where some data is strings encoded as utf8
[Corion]: But again, I would read all data as binary and then decode from utf8
[ambrus]: Corion: that wouldn't be my guess, but I'll wait for Dumu
[Corion]: Meh. I'm now on Firefox 57 ("Quantum") and again have to remove Pocket, and reinstall the adblocker, uMatrix (because NoScript doesn't work) and silence the about:blank page to not download crap from the internet
[Corion]: Maybe I shouldn't update software ...
[ambrus]: Corion: my guess is to first read the start of the file to check what format it is out of two or more possibilities, then rewind it and handle it differently depending on the program
[ambrus]: s/program/format/
[Dumu]: ambrus: it's about testing a file for being multiple possible file formats
[ambrus]: In particular, you might want to detect the encoding of a HTML file from between utf-16 versus ascii-based and encoding given in a META tag.

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (12)
As of 2017-11-20 17:50 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (290 votes). Check out past polls.