2011-04-12 67 views
1

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

StringA; StringB; “ciryllic词”

服务器定位是ru_RU.utf-8的客户端是CP1251 ......结果我总是让我的客户端(桌面应用程序)

StringA; StringB; ?????

而不是我的服务器txt文件行中的西里尔字符。如果我用IE 8打开txt并观察编码,西里尔文的内容只能用utf-8编码进行读取:(所以我的问题是我该怎么做才能让我的servlet写ru_RU.utf-8可接受的字符串。在Windows上,所以我需要知道它肯定

请帮我了解

任何有用的注释表示赞赏

+0

哦,我...没人知道编码是什么:) – user592704 2011-04-13 13:57:18

回答

0

我可能会被误解的问题,而是要回答这个问题的一部分 -

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

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

setContentType(),例如,

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

,或者

的setCharacterEncoding(),例如

response.setCharacterEncoding("utf-8"); 

这些方法和信息还有其他的例子,说明何时在整个地方使用它们。

+0

谢谢你,但它并没有在服务器端帮助:(我已经尝试过,但绝望...另一项建议? – user592704 2011-06-17 18:14:13

+0

我只是想,也许我需要检查语言环境或使用新的String(“”,enc)编码文本?但我不确定吗? – user592704 2011-06-17 18:16:39

+0

...并且,是的,我已经尝试了response.setContentType(“ text/html; charset = UTF-8“); 等,但它并没有帮助...但它为什么没有帮助? – user592704 2011-06-22 16:19:42

1

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