:. MySQL의 DB로 트위터 텍스트를로드하려고 일부 트윗 utf8mb4
문자를 가지고 java.SQL.Exception을 던지는 내가이 문제를 해결합니다. 덕분에 지금 this post.트위터 텍스트 : utf8mb4의 SQL 오류 "reportcharsetnr는 ("컨텍스트에 대한
에, 자바 코드는 오류없이 실행하지만, 내 테이블에 간단한 select * from test.tweet
을 수행 할 수 없습니다 나는 다음과 같은 SQL 오류 얻을
:
,691,363합니다. (210)Error Code: 0 45) . Please reportcharsetnr (
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);
이 오류에 대한 인터넷에서 아무 것도 없습니다. 나는이 오류 메시지 쿼리 할 수 없습니다 이유는 어떤 생각 : 내가 만든와 MySQL 워크 벤치에서 데이터베이스 작업을 시도한 후
Error Code: 0 45) . Please reportcharsetnr (
나는 내 자신의 질문을 실제로 풀었고, 이것이 유일하다고 생각하기 때문에 낮은 평판에도 불구하고 대답을 제공하고자합니다. 먼저 전체 SCHEMA를 삭제해야했습니다. 둘째, 나는 SQL 문을 실행했다. 'utf8mb4'라는 이름을 설정했다. 셋째, 테이블을 만들었습니다 : 테이블 test.test (id 기본 키가 아닌 null, 텍스트 varchar (64) charset utf8mb4 collate utf8mb4_unicode_ci) 문자 집합 utf8mb4. 네 번째로, Java PreparedStatement를 실행할 때마다 실제로 위의 "set names 'utf8mb4'를 실행합니다 .... 그게 누군가를 돕기를 바랍니다. –