[英]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 Workbench中,當我在沒有排序規則的情況下運行SET NAMES
時,我也會收到該錯誤。
我修復它正在執行(正確更改排序規則):
SET NAMES 'utf8mb4' collate 'utf8mb4_spanish_ci';
您可以在創建連接后在代碼中執行它。
在我創建並嘗試使用MySQL Workbench中的數據庫后,我收到了此錯誤。 重新啟動Workbench后,我的問題消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.