2012-09-07 1 views
3

를 사용하여 MySQL의에서 올바른 인코딩의 데이터를 검색하는 방법 : 나는 MySQL의 명령 줄을 사용하는 경우나는 SQL 삽입을 사용하여 내 데이터베이스에 데이터를 (프랑스어 문자 포함) 삽입 할 때 잘 작동에 JDBC

CREATE TABLE Categories(code_interne_c varchar(100) primary key, 
          description varchar(100)); 

    INSERT INTO Categories VALUES ('01','Matières premières'); 
    INSERT INTO Categories VALUES ('02','Articles de conditionnement'); 
    INSERT INTO Categories VALUES ('03','Consommables production'); 
    INSERT INTO Categories VALUES ('04','Produits de nettoyage'); 
    INSERT INTO Categories VALUES ('05','Réactifs'); 

가 작동 미세 (당신이 볼로서의 일반 및 예상 출력) 너무 :

mysql> select * from categories; 
    +----------------+-------------------------------------------+ 
    | code_interne_c | description        | 
    +----------------+-------------------------------------------+ 
    | 01    | Matières premières      | 
    | 02    | Articles de conditionnement    | 
    | 03    | Consommables production     | 
    | 04    | Produits de nettoyage      | 
    | 05    | Réactifs         | 
    +----------------+-------------------------------------------+ 
    14 rows in set (0.00 sec) 

하지만 JDBC 사용하여 데이터를 검색 :

public static String testreqchar(){ 
    try { 
     Statement st = cx.createStatement(); 
     ResultSet rs = st.executeQuery("select * from categories"); 
     rs.next(); 
     return rs.getString(2)+"|| and test French accent characters : é ô ê à è û "; 
    } catch (SQLException ex) { 
     Logger.getLogger(Methodes.class.getName()).log(Level.SEVERE, null, ex); 
     return null; 
    } 
} 
public static void main(String a[]) { 

      System.out.println(testreqchar()); 
} 

MatiŠres premiŠres|| and test French accent characters : é ô ê à è û 

나는 문제가 무엇인지 모르는 :

이 내가 내 IDE 및 인터페이스의 출력으로 무엇을 얻을 수 있습니다.

Mysql 5.5.27 set on UTF-8 as charset on Win server 2008 R2 French 
    mysql-connector-java-5.1.21 
    JDK 1.7 Running on win 7 pro French. 
+0

지금까지 공식적으로 그 IDE 인코딩 문제가 아니라 MySQL의 또는 JDBC 문제를 발표 할 수 있습니다. –

답변

2

연결 문자열 끝에 useUnicode=true&characterEncoding=UTF8을 넣습니다. 예제를 참조하십시오

 Connection conn = DriverManager.getConnection 
     ("jdbc:mysql://localhost/bug_utf8?useUnicode=true&characterEncoding=UTF8" 
+0

여전히 똑같은 문제가 있습니다 : –

+0

@Papa_Jay IDE의 UTF-8 설정을 확인하십시오. 응용 프로그램이 웹 응용 프로그램 인 경우 브라우저 문자 인코딩을 확인할 수도 있습니다. –

+0

그것은 Java Desktop 응용 프로그램이고 IDE는 Netbeans 7.2이며 터미널 Charset을 변경하는 옵션을 찾을 수 없습니다. –