使用java在纯文本中编写耸耸肩ascii emoji¯\ _(ツ)_ /¯的问题

Nul*_*ion 7 java encoding ascii ascii-art emoji

我正在开发一个在文本文件中写入输出的java程序.当出现问题时,我必须把这个ASCII艺术:

¯\_(?)_/¯
Run Code Online (Sandbox Code Playgroud)

我这样做了BufferedOutputStream:

errorOutput.writeln("##################################\n"
                    + "#####       Error Output     ######\n"
                    + "#####       ¯\\_(?)_/¯       ######\n"
                    + "##################################\n");
Run Code Online (Sandbox Code Playgroud)

问题是,当我看到用java编写的txt日志时,我得到了这个:

##################################
#####       Error Output    ######
#####       ¯\_(ツ)_/¯       ######
##################################
Run Code Online (Sandbox Code Playgroud)

如何在Java中编写正确的ASCII表情符号?

Jor*_*lla 5

.java文件保存为UTF-8以下代码对我有用:

String string = "##################################\n"
            + "#####       Error Output     ######\n"
            + "#####       ¯\\_(?)_/¯       ######\n"
            + "##################################\n";
Charset.forName("UTF-8").encode(string);
System.out.println(string);
Run Code Online (Sandbox Code Playgroud)

输出:

##################################
#####       Error Output     ######
#####       ¯\_(?)_/¯       ######
##################################
Run Code Online (Sandbox Code Playgroud)

在这里演示


Nul*_*ion 0

用这些代码片段解决了:

@GET
@Path("getStdErr/{idApp}")
@Produces("text/html; charset=UTF-8")
public Response getStdErr(@PathParam("idApp") Integer idApp) {
    return super.getStderr(jobsMap.get(idApp));
}
Run Code Online (Sandbox Code Playgroud)
.
.
.
.
return Response.ok(job.getStdErr(), "text/plain; charset=UTF-8").build();
Run Code Online (Sandbox Code Playgroud)