Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^2: PgPP invalid byte seqnence for encoding UTF8

by cormanaz (Chaplain)
on Mar 24, 2013 at 16:22 UTC ( #1025159=note: print w/replies, xml ) Need Help??

in reply to Re: PgPP invalid byte seqnence for encoding UTF8
in thread PgPP invalid byte seqnence for encoding UTF8

That did take care of the encoding error tho I don't understand why because I thought Perl was natively UTF-8. Anyway it works.

But now when I try to use that value to update a record like so:

my $sth = $dbh->prepare("update userinfo set description=? where uid=$ +uid"); $sth->execute(encode('UTF-8',$userdata->[$i]->{description})) || die $ +sth->errstr;
I get DBD::PgPP::st execute failed: ERROR:  array value must start with "{" or dimension information at character 33

This is confusing as the string is En démocratie, on a le droit d'avoir tort and character 33 is either an "a" or a "v" depending on whether it's counting form zero.

Replies are listed 'Best First'.
Re^3: PgPP invalid byte seqnence for encoding UTF8
by McA (Priest) on Mar 24, 2013 at 18:07 UTC


    I'm pretty sure it has nothing to do with encoding but with the way the related columns are defined. Please, show use your table definition of userinfo.


      Here it is

      Table "public.user info" Column | Type | Modifiers | Storage | Description ------------------+------------------------------- +-----------+----------+------------- uid | integer | not null | plain | screen_name | character varying | not null | extended | user_name | character varying | not null | extended | location | character varying | | extended | user_language | character varying | | extended | favourites_count | integer | | plain | followers_count | integer | | plain | friends_count | integer | | plain | status_count | integer | | plain | listed_count | integer | | plain | created_at | character varying | | exten ded | time_zone | character varying | | exten ded | user_url | character varying | | exten ded | description | text[] | | exten ded | added_on | timestamp without time zone[] | | exten ded | Indexes: "pk_user" PRIMARY KEY, btree (uid) Rules: my_table_on_duplicate_ignore AS ON INSERT TO userinfo WHERE (EXISTS ( SELECT 1 FROM userinfo WHERE userinfo.uid = new.uid)) DO INSTEAD NOTHING Has OIDs: no
      Maybe the problem is the brackets after the text type? Those were inserted when I created the column with pgadminIII.

        I don't know psql well, but as far as I know, you introduced an array type for column description. I don't know how to feed the data for an array type via DBI. But that is something different than the initial question.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2017-12-12 04:00 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (324 votes). Check out past polls.