我正在用python从oracle数据库读取一些文本数据。其中我必须标记具有一些特殊字符的值,并根据其值将其更改为特定的值 有些名字有特殊字符,如ą、Ł等
而有些人正在被阅读。但ą被读取为A。因此,即使数据库中的数据值是特殊字符,我的python代码也不会标记它
我甚至尝试在连接数据库时使用encoding='iso-8859-1',但不是读取和显示字符,而是显示一个倒过来的问号
请帮助我理解python中的这些字符
我正在使用cx_Oracle连接到数据库。 DB中的列有一个值:Mąrią
在连接到db时不使用任何编码,python将此值读取为Maria。 但我希望它的形式与数据库中的形式相同 i、 e预期产出:Mąrią。 Bt如果我添加encoding='iso-8859-1'得到的输出是'M?ri'
import cx_Oracle
conn=cx_Oracle.connect('username','pwd','hostname/servicename')
c=conn.cusrsor()
sql='select name from con where id='123' #output of this in db is :Mąrią
z=pd.read_sql(sql,conn)
python输出:Maria
预期输出:与DB相同,即:Mąrią
如果我将连接更改为: conn=cx_Oracle.connect('username','pwd','hostname/servicename',encoding='iso-8859-1')
python中的输出:“M?ri?”
预期输出:与DB相同,即:Mąrią
不,你不能这样做。重新启动
application
时,创建一个新的timer
。如果您想实现它,请尝试将状态存储在SharedPrefense
相关问题 更多 >
编程相关推荐