原始数据:
帐户 1234� 租金
在MySQL中手动执行脚本,然后使用Python shell执行脚本:
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(Account,':',-1),' � ',-1) as Description,
SUBSTRING_INDEX(SUBSTRING_INDEX(Account,':',-1),' � ',1) as Acct_Number
FROM table1
MySQL输出(正确)
Acct_Number Description
1234 Rent
Python输出(不正确)
Acct_Number Description
1234 1234 � Rent
有没有办法让python读这个奇怪的东西� 性格?已经成功地使用Python在类似的帐户数据(也使用子字符串索引)上运行脚本,其中包含-而不是这个� 性格,而且效果很好
如果这个字符没有出现在本文中,这里有一个链接,我指的是:https://apps.timwhitlock.info/unicode/inspect?s=%EF%BF%BD
“黑钻石”的成因见Trouble with UTF-8 characters; what I see is not what I stored
另请参阅http://mysql.rjweb.org/doc.php/charcoll#python,以获取有关将UTF-8与Python和MySQL结合使用的技巧
找到实际存储的十六进制来确定问题在
INSERT
上的位置和在显示上的位置可能很重要正如您所注意到的,hex
EFBFBD
表示黑色菱形,这意味着问题是在“存储”方面引起的相关问题 更多 >
编程相关推荐