Tomcat Servlet FileUpload和UTF-8

时间:2011-04-12 23:24:48

标签: java servlets file-io encoding utf-8

我正在使用commons FileUpload来获取客户端标头。我正在尝试使用标题字符串来编写txt内容,如:

  

StringA; StringB; “ciryllic words”

服务器本地化是ru_RU.utf-8客户端是cp1251 ...结果是我总是在我的客户端(桌面应用程序)上

  

StringA; StringB; ?????

而不是我的服务器txt文件行中的西里尔字符。如果我用我的IE 8打开txt并观看编码,那么西里尔文内容只能用utf-8编码来阅读:(所以我的问题是我应该怎样做才能让我的servlet写出ru_RU.utf-8可接受的字符串。我正在测试它在Windows上,所以我需要确定它

请帮助我理解

赞赏任何有用的评论

2 个答案:

答案 0 :(得分:1)

ServletOutputStream out =response.getOutputStream();
out.write((YOUrfileasstring).getBytes("UTF-8"));

答案 1 :(得分:0)

我可能会误解这个问题,但要回答这一部分 -

  

所以我的问题是我应该怎样做才能让我的servlet写出ru_RU.utf-8可接受的字符串。

您应该使用HttpServletResponse类提供的两种方法之一。那些是:

setContentType(),例如

    response.setContentType("text/html; charset=UTF-8");

,或者

setCharacterEncoding(),例如

    response.setCharacterEncoding("utf-8");

关于何时在整个地方使用它们的方法和信息还有其他例子。