Skip site navigation (1) Skip section navigation (2)

Getting adaped output from unicode text, without a connection

From: "Hefferon, James S(dot)" <jhefferon(at)smcvt(dot)edu>
To: "psycopg(at)postgresql(dot)org" <psycopg(at)postgresql(dot)org>
Subject: Getting adaped output from unicode text, without a connection
Date: 2013-07-21 18:56:19
Message-ID: 8E15C2BC0B63AD4AA20BF9F1C3947FC157492F75@SMCEXMBX02.mikenet.smcvt.edu (view raw or flat)
Thread:
Lists: psycopg
Hello,

I need to write some static .sql files (just as an explanation, it is startup code for Django).  Some of the strings are non-ascii.  I'm stumped about how to get utf-8 instead of latin-1 in the file.
 
I'm generating the .sql as strings, without a connection.  I found a prior message on this list that suggested what to do (1) and came up with this routine.

def todb(s):
    psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)
    psycopg2.extensions.register_type(psycopg2.extensions.DECIMAL)
    psycopg2.extensions.register_type(psycopg2.extensions.FLOAT)
    adapted = psycopg2.extensions.adapt(s)
    return adapted.getquoted()
 
But it encodes in latin-1.  I understand from the docs that I need to get a connection and set the .encoding attribute, but I can't see how to get a connection instance without a db handy.  For instance, 

>>> conn = psycopg2.connect(database = None)

fails.

I expect that I am asking a dopey question (I'm not very sure what I am doing) but I'd appreciate a pointer even if it makes me feel dumb.

Thanks,
Jim

(1) http://www.postgresql.org/message-id/AANLkTik+tq8hbnCj3ROmOLNV1DSw48o4sDoSvnxTN3R8@mail.gmail.com

Responses

psycopg by date

Next:From: Daniele VarrazzoDate: 2013-07-21 20:08:20
Subject: Re: Getting adaped output from unicode text, without a connection
Previous:From: Daniele VarrazzoDate: 2013-07-21 17:35:20
Subject: Re: Connection failures when using green

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group