Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FREETDS and UNIXODBC character converting

ive got an error to fix. its:

[FreeTDS][SQL Server]Error converting characters into server's character set. Some character(s) could not be converted

when i use turkish characters to insert i get this error. my question is how can i disable that converting thing? im connecting to sql server via freetds and unixodbc.

thanks..

like image 244
Ali Demirci Avatar asked May 27 '10 16:05

Ali Demirci


2 Answers

You need to set

clientcharset = UTF-8

in your freetds.conf file and read it from odbc.ini by setting the Servername option to the connection definition in freetds.com. See this explanation and my blog post.

like image 167
dirkb Avatar answered Sep 25 '22 19:09

dirkb


in python3, you need to add two lines after your conn

import pyodbc as db # forgot the imports
conn = pyodbc.connect(driver=driver, server=serv, database=db,port = prt,
                  uid=usr, pwd=passwd)
conn.setdecoding(db.SQL_CHAR, encoding='latin1')
conn.setencoding('latin1')
like image 41
Stella Fredo Avatar answered Sep 24 '22 19:09

Stella Fredo