【问题标题】:How can I read a utf-8 value in my servlet [duplicate]如何在我的 servlet 中读取 utf-8 值 [重复]
【发布时间】:2015-07-16 08:07:18
【问题描述】:

在我的 servlet 中,我保存到一个字符串变量,这是我从 JSP 页面中的表单(带有 POST)中获得的值。这个值有时不是英文的..

s1 = request.getParameter("Country");

然后进行测试,我将刚刚阅读的内容打印到日志屏幕上,当它不是英文时,我得到了$%^&。我尝试添加

<%@page contentType="text/html" pageEncoding="UTF-8" language="java" %>

在我的jsp页面中,我还检查了server.xml中是否有这个

URIEncoding="utf-8"

但它并没有改变任何东西.. 我能做什么?
编辑
我在我的 servlet 中添加了以下内容

if (request.getCharacterEncoding() == null) {
            request.setCharacterEncoding("UTF-8");
        }

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {里面

但我还是有问题

【问题讨论】:

  • 是GET还是POST参数?
  • 查看@balusc balusc.blogspot.jp/2009/05/…的这篇出色的帖子
  • @BalusC 我读了你的回答,但什么也没发生......(我更新了我做了什么的问题)

标签: java forms jsp servlets utf-8


【解决方案1】:

如果您使用的是 tomcat,您可以尝试他们的 utf8 编码过滤器(当然将其添加到您的 web.xml 中)。他们的过滤器叫做 org.apache.catalina.filters.SetCharacterEncodingFilter,或者如果你不想依赖 3rd 方,那么你可以看看他们的源代码并自己编写,这不是很复杂。

另请参阅 http://wiki.apache.org/tomcat/FAQ/CharacterEncoding

【讨论】:

    猜你喜欢
    • 2013-07-22
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 2023-04-01
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    相关资源
    最近更新 更多