summaryrefslogtreecommitdiff
path: root/examples/encoding.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/encoding.py')
-rw-r--r--examples/encoding.py32
1 files changed, 17 insertions, 15 deletions
diff --git a/examples/encoding.py b/examples/encoding.py
index 94af0d0..da57bcf 100644
--- a/examples/encoding.py
+++ b/examples/encoding.py
@@ -1,5 +1,5 @@
-# encoding.py - how to change client encoding (and test it works)
-# -*- encoding: latin-1 -*-
+# enkoding.py - show to change client enkoding (and test it works)
+# -*- encoding: utf8 -*-
#
# Copyright (C) 2004 Federico Di Gregorio <fog@debian.org>
#
@@ -33,27 +33,29 @@ print "Initial encoding for this connection is", conn.encoding
print "\n** This example is supposed to be run in a UNICODE terminal! **\n"
print "Available encodings:"
-for a, b in psycopg2.extensions.encodings.items():
+encs = psycopg2.extensions.encodings.items()
+encs.sort()
+for a, b in encs:
print " ", a, "<->", b
print "Using STRING typecaster"
print "Setting backend encoding to LATIN1 and executing queries:"
conn.set_client_encoding('LATIN1')
curs = conn.cursor()
-curs.execute("SELECT %s::TEXT AS foo", ('�����',))
+curs.execute("SELECT %s::TEXT AS foo", ('àèìòù',))
x = curs.fetchone()[0]
print " ->", unicode(x, 'latin-1').encode('utf-8'), type(x)
-curs.execute("SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", unicode(x, 'latin-1').encode('utf-8'), type(x)
print "Setting backend encoding to UTF8 and executing queries:"
conn.set_client_encoding('UNICODE')
curs = conn.cursor()
-curs.execute("SELECT %s::TEXT AS foo", (u'�����'.encode('utf-8'),))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù'.encode('utf-8'),))
x = curs.fetchone()[0]
print " ->", x, type(x)
-curs.execute("SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", x, type(x)
@@ -63,20 +65,20 @@ psycopg2.extensions.register_type(psycopg2.extensions.UNICODE)
print "Setting backend encoding to LATIN1 and executing queries:"
conn.set_client_encoding('LATIN1')
curs = conn.cursor()
-curs.execute("SELECT %s::TEXT AS foo", ('�����',))
+curs.execute("SELECT %s::TEXT AS foo", ('àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
-curs.execute("SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
print "Setting backend encoding to UTF8 and executing queries:"
conn.set_client_encoding('UNICODE')
curs = conn.cursor()
-curs.execute("SELECT %s::TEXT AS foo", (u'�����'.encode('utf-8'),))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù'.encode('utf-8'),))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
-curs.execute("SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute("SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
@@ -85,19 +87,19 @@ print "Executing full UNICODE queries"
print "Setting backend encoding to LATIN1 and executing queries:"
conn.set_client_encoding('LATIN1')
curs = conn.cursor()
-curs.execute(u"SELECT %s::TEXT AS foo", ('�����',))
+curs.execute(u"SELECT %s::TEXT AS foo", ('àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
-curs.execute(u"SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute(u"SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
print "Setting backend encoding to UTF8 and executing queries:"
conn.set_client_encoding('UNICODE')
curs = conn.cursor()
-curs.execute(u"SELECT %s::TEXT AS foo", (u'�����'.encode('utf-8'),))
+curs.execute(u"SELECT %s::TEXT AS foo", (u'àèìòù'.encode('utf-8'),))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)
-curs.execute(u"SELECT %s::TEXT AS foo", (u'�����',))
+curs.execute(u"SELECT %s::TEXT AS foo", (u'àèìòù',))
x = curs.fetchone()[0]
print " ->", x.encode('utf-8'), ":", type(x)