Tengo problemas para enviar o mostrar texto con caracteres especiales de mi servicio web a mi base de datos. En mi eclipse configuré la encoding de caracteres para UTF-8, pero todavía no me permite mostrar los caracteres. Por ejemplo, una impresión simple como el código a continuación
String test ="привет"; System.out.println(test);
O
String test ="привет"; String query = "insert into communication (`test`) VALUES ('"+ test +"'); PreparedStatement preparedStmt1 = con.prepareStatement(query); preparedStmt1.executeUpdate();
El resultado en la consola y si envío esto a mi base de datos es ??????. ¿Cómo puedo ver esto para que se muestre correctamente en la consola y con suerte en la base de datos?
Sí, es el XXI. siglo y todavía estamos luchando con cosas como encoding de caracteres …
Mi primera suposición es que o bien:
Si está utilizando Eclipse, entonces
Mira si esto funciona
PrintStream out = new PrintStream(System.out, true, "UTF-8"); out.println(test);
Para almacenar en DB, use following para codificar explícitamente la cadena en UTF-8
String newString = new String(test.getBytes(), "UTF8");
puede ser que necesite decodificar su cadena de caracteres primero en ISO-8859 y luego codificarla en UTF-8