PrintWriter不会以UTF-8编写

时间:2014-10-13 07:37:17

标签: java printwriter

我的代码是

    PrintWriter output = new PrintWriter(new OutputStreamWriter(new FileOutputStream(outputFile),
                StandardCharsets.UTF_8), true);
output.print(SomeString);

但是,如果我运行这个我仍然有问题机智ßÄÖÜ等。 是否有人可以解释我这个?

如果我这样做

System.out.print(someString);

它与äöüß打印完美 谢谢你的帮助

1 个答案:

答案 0 :(得分:7)

res.setContentType("text/html; charset=UTF-8");
PrintWriter out = new PrintWriter(
                         new OutputStreamWriter(res.getOutputStream(), "UTF8"), true);

您也可以查看编码类型

String encoding = request.getCharacterEncoding();
            if ((encoding != null) && (encoding.equalsIgnoreCase("utf-8")))
            {
                response.setContentType("text/html; charset=utf-8");
            }