jdbc insert에 관한 질문입니다....

조회수 449회
create table user(
성별 varchar(2),
이름 varchar(5),
아이디 varchar(20),
비밀번호 varchar(20)
);

제가 이렇게 테이블을 만들었고

Connection con = null;
PreparedStatement pstmt = null;  
String SQL = "insert into user values(?, ?, ?, ?)"; 

try {  

        Class.forName("com.mysql.jdbc.Driver"); 
        con=DriverManager.getConnection("jdbc:mysql://localhost:3306/titleuseSSL=false","title",디비 비번);  
        pstmt = con.prepareStatement(SQL);  
        pstmt.setString(1, "남");
        pstmt.setString(2, "삐리리");
        pstmt.setString(3, "qlflfl");
        pstmt.setString(4, "qlflfl");    
        int r = pstmt.executeUpdate(); System.out.println("변경된 row : " + r); }
    catch (SQLException e) { System.out.println("[SQL Error : " + e.getMessage() + "]"); } 
        catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

이렇게 실행했을때 오류없이 mysql로 전송이 되는데 workbench에서 출력시켜보면 성별과 이름에 ?자릿수로 데이터가 저장이 되는데 이런경우 어떻게 해야 하면 될까요? 성별 같은 경우는 ?하나로 저장이 되있고, 이름은 ???으로 저장이 되있습니다... workbench에서 쿼리로 직접 insert하고 출력시키면 정상적으로 하는데 jdbc를 하면 저렇게 되는것 같습니다.

jdbc로 출력시켜도 ?로뜹니다. 해결법 알고 계시다면 도와주시면 감사합니다.

이미지

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)