下面是我的示例代码:
import pyodbc
conn = pyodbc.connect(driver = '{SQL Server}', \
server = 'localhost', \
uid = 'sa', \
pwd = '1234', \
autocommit = True, trusted_connection='yes', database = 'DB')
Objcursor = conn.cursor()
mystring1 = "MÜNRÜC"
mystring = mystring1.decode("utf-8",'replace')
sql = "INSERT INTO system (name) VALUES ('%s')" %(mystring)
Objcursor.execute(sql)
conn.Commit()
当我运行这个代码段时,我得到的输出是“M?N?R?C”,因为我在编码时使用了replace。 如果我不使用replace,它会给出一个错误,并且不会对字符串进行编码。 有人可以帮助我们如何使用pyodbc在数据库中插入unicode字符串,而不替换丢失的字符/数据
首先,您可能会受到其他因素的限制,但最好停止使用Python2.7,因为它现在不受支持
其次,您似乎没有声明源文件的编码,因此
mystring1 = "MÜNRÜC"
可能没有执行您认为是的操作解决方案:
您应该显式地声明源文件的编码,并且只使用unicode对象(而不是python 2.7字符串)可能是明智的。您可以这样明确地执行此操作:
相关问题 更多 >
编程相关推荐