utf8 java utf-8 printwriter

java - utf8 - ¿Cómo hacer que el PrintWriter escriba UTF-8?



fileoutputstream utf8 (5)

Mira a Java: Diferencia entre PrintStream y la discusión de PrintWriter .

Para ser rápido: puede usar el parámetro o método JVM -Dfile.encoding = utf8 sugerido en la discusión (vea la segunda respuesta).

¿Cómo hacer que el PrintWriter escriba UTF-8?

pstream = new PrintWriter(csocket.getOutputStream(), true); String res = "some string"; pstream.println(res); // here I want to output string as UTF-8


No utilice PrintWriter. Si necesita codificación UTF-8, simplemente escriba directamente en OutputStream.

csocket.getOutputStream().write(res.getBytes("UTF-8"));


Utilice un OutputStreamWriter :

pstream = new PrintWriter(new OutputStreamWriter( csocket.getOutputStream(), StandardCharsets.UTF_8), true)


solo puede escribir en el archivo con cualquier conjunto de caracteres; de lo contrario, el conjunto de caracteres predeterminado de la plataforma se utiliza en doc


PrintWriter out1 = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { out1 = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8),true); } else { out1 = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"), true); }