Je ne parviens pas à envoyer ou à afficher du texte contenant des caractères spéciaux de mon service Web vers ma base de données. Sur mon Eclipse, j'ai défini le codage de caractères sur UTF-8 mais cela ne me permet toujours pas d'afficher les caractères. Par exemple, une simple impression comme celle ci-dessous
String test ="привет";
System.out.println(test);
OR
String test ="привет";
String query = "insert into communication (`test`) VALUES ('"+ test +"');
PreparedStatement preparedStmt1 = con.prepareStatement(query);
preparedStmt1.executeUpdate();
Le résultat sur la console et si j'envoie ceci à ma base de données est ??????. Comment puis-je obtenir ceci pour afficher correctement sur la console et, espérons-le, dans la base de données
Oui, c'est le XXI. siècle et nous sommes toujours aux prises avec des choses comme le codage de caractères ...
Ma première hypothèse est que soit:
Si vous utilisez Eclipse, alors
Voir si cela fonctionne.
PrintStream out = new PrintStream(System.out, true, "UTF-8");
out.println(test);
Pour stocker dans la base de données, utilisez ce qui suit pour coder explicitement la chaîne en UTF-8
String newString = new String(test.getBytes(), "UTF8");
vous devrez peut-être décoder d'abord votre chaîne de caractères au format ISO-8859, puis l'encoder en UTF-8