Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Achat - Vente Divers : science-pro et 22 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

[ RESOLU ] PB encodage UTF-8 avec Japonais, Chinois

 
n°18687
ch33k0n
Profil : Membre
Posté le 15-06-2007 à 18:31:57  profilanswer
 

J’ai une base de donnée MYSQL, une table de users avec des nom, prenom en français, anglais, arabe, japonais et mandarin.
La table est au format : utf8_unicode_ci
 
Mon problème est que je n’arrive pas à récupérer les contenus arabe, japonais et mandarin comme il faut.
Par exemple, pour le mandarin, java me retourne : ‘他有理性良心’,  dans un fichier .html encodé en utf8.
Lorsque j’ouvre firefox et que je change l’encodage, la valeur de la base '他有理性良心' apparait comme il faut.
 
Si je l’affiche dans la console d’eclipse, ça affiche des « ? »
 
J'ai essayé d'utiliser :
Charset charset2 = Charset.forName("UTF-8" );
CharsetDecoder decoder = charset2.newDecoder();
ByteBuffer byteBuf2 = charset2.encode(resultat.getString("lastname" ));
ou  
 InputStream in = new ByteArrayInputStream(resultat.getString("lastname" ).getBytes("UTF-8" ));  
 InputStreamReader chaine = new InputStreamReader(in, "UTF8" );  
 BufferedReader br = new BufferedReader ( chaine ) ;  
mais j'ai a chaque fois des '?'.
 
Merci par avance de votre aide ;)
 
 
 
Le code est le suivant :
package remy;
import java.sql.*;
import java.lang.Class;
import java.io.*;
 
class testsql{
 
 public static void main(String[] args){
 String pilote = "com.mysql.jdbc.Driver";
 try{
  Class.forName(pilote);
  Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/translate","root","" );
  Statement instruction = connexion.createStatement();
  ResultSet resultat = instruction.executeQuery("SELECT * FROM users" );
  while(resultat.next())
  {
   System.out.println("---------------------------" );
   System.out.println("Prénom : "+resultat.getString("firstname" ));
   System.out.println("Nom : "+resultat.getString("lastname" ));
   System.out.println("Langue : "+resultat.getString("lang" ));
   
   try {
       FileOutputStream fos = new FileOutputStream("test.html" );
       Writer out = new OutputStreamWriter(fos, "UTF-8" );
       out.write(resultat.getString("lastname" ));
       out.close();
   }
   catch (IOException e) {
       e.printStackTrace();
   }
  }
 }
catch (Exception e){
 System.out.println("echec pilote : "+e);
 }
}
}
 
 
 
 
Mysql 5
Java 1.6


Message édité par ch33k0n le 18-06-2007 à 12:00:48
n°18688
ch33k0n
Profil : Membre
Posté le 15-06-2007 à 21:25:37  profilanswer
 

up

n°18692
ch33k0n
Profil : Membre
Posté le 17-06-2007 à 22:17:39  profilanswer
 

Sniff personne :(

n°18695
ch33k0n
Profil : Membre
Posté le 18-06-2007 à 12:00:27  profilanswer
 

Aller à :
Ajouter une réponse