簡體   English   中英

從Java到MySQL的Twitter文本:utf8mb4 SQL錯誤“reportcharsetnr(”

[英]Twitter Text from Java to MySQL: utf8mb4 SQL Error “reportcharsetnr(”

對於上下文:嘗試將Twitter文本加載到MySQL數據庫中。 一些推文有utf8mb4字符,拋出java.SQL.Exception 我解決了這個問題,感謝這篇文章。

現在,Java代碼運行時沒有錯誤; 但是,我無法在我的桌子上執行一個簡單的select * from test.tweet

我得到以下SQL錯誤:

錯誤代碼:0 45)。 請報告charsetnr(

SQL代碼:

create table test.tweet (
    text varchar(200) character set utf8mb4 collate utf8mb4_unicode_ci not null);

Java代碼:( 我知道這有效)

// 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);

關於這個錯誤,互聯網上沒有任何內容。 有任何想法,我無法查詢此錯誤消息:

錯誤代碼:0 45)。 請報告charsetnr(
MySQL錯誤消息

在MySQL Workbench中,當我在沒有排序規則的情況下運行SET NAMES時,我也會收到該錯誤。

我修復它正在執行(正確更改排序規則):

SET NAMES 'utf8mb4' collate 'utf8mb4_spanish_ci';

您可以在創建連接后在代碼中執行它。

在我創建並嘗試使用MySQL Workbench中的數據庫后,我收到了此錯誤。 重新啟動Workbench后,我的問題消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM