Tomcat Servlet 文件上传和 UTF-8

发布于 2024-11-01 02:06:07 字数 433 浏览 1 评论 0原文

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

字符串A;字符串B; “西里尔文字”

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

字符串A;字符串B; ????

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

请帮助我理解

任何有用的评论表示赞赏

I am using commons FileUpload to get client headers. I am trying to use the header Strings to write txt content like:

StringA; StringB; "ciryllic word"

The server localization is ru_RU.utf-8 the client is cp1251... The result is I always get on my client (desktop app)

StringA; StringB; ?????

instead of cyrillic characters in my server txt files lines. If I open txt with my IE 8 and watch the encoding the cyrillic content can be readable with utf-8 encoding only :( So my question is what should me do to make my servlet write ru_RU.utf-8 acceptable strings. I am testing it on windows so I need to know it for sure

Please help me to understand

Any useful comment is appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无所谓啦 2024-11-08 02:06:07

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

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

撩心不撩汉 2024-11-08 02:06:07

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

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

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

setContentType()(例如

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

)或

setCharacterEncoding()(例如)

    response.setCharacterEncoding("utf-8");

这些方法还有其他示例以及有关何时在各处使用它们的信息。

I might be misunderstanding the question, but to answer this part -

So my question is what should me do to make my servlet write ru_RU.utf-8 acceptable strings.

You should use either of two methods provided by the HttpServletResponse class. Those are:

setContentType(), e.g.

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

or,

setCharacterEncoding(), e.g.

    response.setCharacterEncoding("utf-8");

There are other examples for those methods and information on when to use them all over the place.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文