gpt4 book ai didi

java - 在 MySQL 数据库中插入行之前从字符串中删除二进制代码

转载 作者:行者123 更新时间:2023-11-29 08:03:31 24 4
gpt4 key购买 nike

我正在从 Twitter 获取推文并将其存储在数据库中以供将来使用。我在驱动程序中使用 UTF-8 编码,在 VARCHAR 字段中使用 utf8_mb4_bin 以及 utf8mb4_general_ci 服务器排序规则。问题在于,当在 VARCHAR 字段中插入值时,如果文本具有任何二进制代码,则会抛出异常,因为 VARCHAR utf8 不接受二进制。

这是一个示例,我正在获取文本 from here并尝试将其插入我的数据库中,但出现错误:

Incorrect string value: '\xF0\x9F\x98\xB1\xF0\x9F...' for column 'fullTweet' at row 1

我的猜测是这两个表情符号造成了这种情况。在将推文文本插入数据库之前,如何删除它们?

更新:

看来我可以手动输入表情了。我运行这个查询:

INSERT INTO `tweets`(`id`, `createdAt`, `screenName`, `fullTweet`, `editedTweet`) VALUES (450,"1994-12-19","john",_utf8mb4 x'F09F98B1',_utf8mb4 x'F09F98B1')

这就是表格中的行的样子:

1

最佳答案

您可以在插入之前从推文字符串中删除非 ASCII 字符。

tweetStr = tweetStr.replaceAll("[^\\p{ASCII}]", "");

关于java - 在 MySQL 数据库中插入行之前从字符串中删除二进制代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23172303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com