MySQL脚本未通过python正确执行

2024-06-01 14:12:57 发布

您现在位置:Python中文网/ 问答频道 /正文

原始数据:

帐户 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


Tags: 脚本number原始数据indexasmysql帐户account
1条回答
网友
1楼 · 发布于 2024-06-01 14:12:57

“黑钻石”的成因见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上的位置和在显示上的位置可能很重要

正如您所注意到的,hexEFBFBD表示黑色菱形,这意味着问题是在“存储”方面引起的

相关问题 更多 >