Problems Writing £ (pound sterling) To MS SQL Server using pymssql
Darren Mansell
darren.mansell at opengi.co.uk
Mon Nov 17 09:52:14 EST 2008
Hi.
I'm relatively new to python so please be gentle :)
I'm trying to write a £ symbol to an MS SQL server using pymsssql . This
works but when selecting the data back (e.g. using SQL management
studio) the £ symbol is replaced with £ (latin capital letter A with
circumflex).
I can reproduce it like so:
>>> con = pymssql.connect(host='testdb',user='testuser',password='password',database='test')
>>> sql = "insert into table_1 values ('£')"
>>> cur.execute(sql)
>>> con.commit()
>>> sql = "insert into table_1 values ('1')"
>>> cur.execute(sql)
>>> con.commit()
>>> sql = "select * from table_1"
>>> cur.execute(sql)
>>> cur.fetchall()
[('\xc2\xa3',), ('1',)]
If I insert a £ symbol in using SQL management studio then select it back from Python I get this:
[('\xc2\xa3',), ('1',), ('\xa3',)]
If I look in SQL management studio it says this:
£
for the inserts I do through Python/pymssql.
Does anyone have any ideas whats happening and how to fix it?
Thanks
--
Darren Mansell <darren.mansell at opengi.co.uk>
More information about the Python-list
mailing list