[자바기초] mySQL 기본문법적용 및 한글인코딩(Driver load, Connection, Statement)
자바<->MySQL 사이에 한글을 입력할때 깨짐현상을 방지하기 위한 인코딩이 필요할때가 있다.
인코딩 메소드를 통해 ISO-8859-1 방식으로 지정하여 한글깨짐을 방지해야 한다.
ChangeEncoding
MainClass
인코딩 메소드를 통해 ISO-8859-1 방식으로 지정하여 한글깨짐을 방지해야 한다.
ChangeEncoding
package com.ljh;
import java.io.UnsupportedEncodingException;
public class ChangeEncoding {
// java => mySQL
public static String toLatin(String str){
try{
byte[] b=str.getBytes();
return new String(b, "ISO-8859-1");
}catch(UnsupportedEncodingException uee){
System.out.println("Encoding ERR : " +uee.getMessage());
return null;
}
}
// mySQL => Java
public static String toUnicode(String str){
try{
byte[] b=str.getBytes("ISO-8859-1");
return new String(b);
}catch(UnsupportedEncodingException uee){
System.out.println("Encoding ERR : " +uee.getMessage());
return null;
}
}
}
MainClass
package com.ljh;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MainClass {
public static void main(String[] args) {
//로드해줄 드라이버, URL주소, 커넥션, 스테이트먼트, 리절트셋 ㅎㅎ
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/java";
Connection con = null;
PreparedStatement pstm = null;
String sql = null;
ResultSet rs = null;
String question = null, a1 = null, a2 = null, a3 = null, a4 = null;
int no=0;
try{
Class.forName(driver);
con = DriverManager.getConnection(url, "root", "1234");
sql = "SELECT * FROM javaquiz";
pstm = con.prepareStatement(sql);
rs = pstm.executeQuery();
while(rs.next()){
no = rs.getInt("no");
question = rs.getString("question");
a1 = rs.getString("a1");
a2 = rs.getString("a2");
a3 = rs.getString("a3");
a4 = rs.getString("a4");
System.out.println(no + ". " + ChangeEncoding.toUnicode(question) + " \n1) " + ChangeEncoding.toUnicode(a1)
+ " \n2) " + ChangeEncoding.toUnicode(a2) + " \n3) " + ChangeEncoding.toUnicode(a3)
+ " \n4) " + ChangeEncoding.toUnicode(a4) + " \n");
}
} catch(ClassNotFoundException e) {
System.out.println("Driver error!");
} catch (SQLException e) {
System.out.println("SQL error!");
}
}
}
댓글
댓글 쓰기