当前位置: 首页 > 知识库问答 >
问题:

从Java到MySQL的Twitter文本:utf8mb4 SQL错误“ReportCharsetNR(”

范建华
2023-03-14

对于上下文:尝试将Twitter文本加载到MySQL数据库中。有些tweet包含UTF8MB4字符,这会引发java.sql.Exception。我解决了这个问题,多亏了这个帖子。

现在,Java代码运行时没有任何错误;但是,我不能在我的表上执行简单的select*from test.tweet

我得到以下SQL错误:

create table test.tweet (
    text varchar(200) character set utf8mb4 collate utf8mb4_unicode_ci not null);
// create a mysql database connection
        String myDriver = "com.mysql.jdbc.Driver";
        String myUrl = "jdbc:mysql://localhost:3306/test?";
        Class.forName(myDriver).newInstance();
        Connection conn = DriverManager.getConnection(myUrl, "root", "pass");
        PreparedStatement setNames = conn.prepareStatement("SET NAMES 'utf8mb4'");
        setNames.execute();

//Load the tweets into a mySQL DB
                    loadTweets(jsonObject, conn);

共有1个答案

孙海
2023-03-14

在MySQL Workbench中,当我运行set names而没有排序规则时,也会出现这个错误。

我修复了它的执行(正确更改排序规则):

SET NAMES 'utf8mb4' collate 'utf8mb4_spanish_ci';

您可以在创建连接后在代码中执行它。

 类似资料:
  • 有人能帮我解决这个问题吗? 谢谢:)

  • 问题内容: 今天,我们发现我的一位客户的Twitter提要已损坏。 我尝试切换为使用新的API 1.1,但出现以下错误: 即使使用自己的示例也会产生相同的响应: 我正在参考以下文档。 知道这是怎么回事吗? 谢谢,Mikey 问题答案: 因此,似乎Twitter的最新API 1.1 不允许 未经身份验证的访问-即使是看似公开的数据也是如此……就像时间轴上的最新3条推文一样。 我在此找到的最好的文章(

  • 我在尝试将PDF(XFA)转换为字符串时出现以下错误。当我从切换到 这是日志 和 我阅读了迁移,并使用load而不是loadNonSeq,因为现在PDFBox在内部处理这个问题。 关于如何修复这些错误的任何建议。 编辑错误#1错误#2 编辑#2@tilmanhausher我检查了你的理论。我用Supreme打开了文件,删除了开头的多余空格并保存了下来。我犯了以下错误 为了验证你的理论,我在Subl

  • 我试图创建一个使用tweepy api访问twitter帐户的项目,但是我遇到了状态代码429。现在,我环顾四周,我发现这意味着我有太多的请求。然而,我一次只能发10条推文,在我的测试中,应该只有一条。 当错误出现时,它出现在第一个for循环行中。有点奇怪的是,它并不是每次都抱怨,甚至没有持续的时间间隔。有时它会工作,而其他时候,似乎随机,不工作。 我们尝试在循环中增加更长的睡眠时间并减少项目数。

  • 问题内容: 我在MySQL中有一个ID字段类型为BIGINT的表 在hibernate对象中,我为此字段使用Java Long类型 但是当运行程序时,它会抛出异常: 如何在hibernate状态下映射MySQL BINGINT数据类型? 问题答案: 但是在运行程序时,它将引发异常:预期:类java.lang.Long,得到类java.lang.Integer 为BIGINT 使用a 是正确的,上述

  • 问题内容: 我用心搜寻了!我试图弄清楚如何从Windows命令行执行java时输出java类可能给出的任何错误。 例如 如果该行引发任何错误,我希望将它们存储到文本文件中,以便以后进行检查。 我试过了 但是,尽管抛出错误,log.txt文件还是空的。 谢谢大家! 问题答案: 用: 2重定向错误流。