我正在使用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上,所以我需要确定它
请帮助我理解
赞赏任何有用的评论
答案 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");
关于何时在整个地方使用它们的方法和信息还有其他例子。