Java 为什么会发生这种字符转换?

Java 为什么会发生这种字符转换?,java,jsp,servlets,struts,Java,Jsp,Servlets,Struts,我试图提交一个html表单,表单的内容是混合语言,如英语和泰语或英语-阿拉伯语的组合等,但英语总是存在 假设我提交了一份表格 堆栈溢出,การพัฒนา 现在在服务器(JavaServlet)上,文本作为 堆垛溢流 我正在页面指令中将JSP页面编码设置为UTF-8。 谁能告诉我为什么会这样 如果还需要什么,请随时询问 下面是根JSP,它包含在所有其他JSP(布局类型的结构)中 尝试插入 进入配对标签 或者在您的jsp文件上尝试以下方法: <%@ page contentType="tex

我试图提交一个html表单,表单的内容是混合语言,如英语和泰语或英语-阿拉伯语的组合等,但英语总是存在

假设我提交了一份表格

堆栈溢出,การพัฒนา

现在在服务器(JavaServlet)上,文本作为

堆垛溢流

我正在页面指令中将JSP页面编码设置为UTF-8。 谁能告诉我为什么会这样

如果还需要什么,请随时询问

下面是根JSP,它包含在所有其他JSP(布局类型的结构)中

尝试插入

进入
配对标签

或者在您的jsp文件上尝试以下方法:

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

 <html>

<head>
<title></title>
<meta charset="UTF-8"/>
</head>

<body>
 <%--Contents--%>
</body>

</html>

发生字符转换的原因如下:

  • Struts 1.1仅支持“ISO-8859-1”字符编码
  • 解决方案:

  • 升级到Struts 1.2或更高版本。(推荐)
  • 使用Servlet而不是动作bean

  • 包括Uni代码元头,以支持英语以外的字符

    对于HTML 5页:

     <head>
        <meta charset="UTF-8">
     </head>
    
    
    
    对于较旧的HTML 4.0.1页面,请使用以下命令:

    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    </head>
    
    
    
    您是否尝试设置您的
    请求。setCharacterEncoding(“UTF-8”)在servlet中?你能给我们看一下你的servlet吗?我使用的是Struts 1.1,因此不存在servlet,但是编辑了这个问题,这样你就可以看到我正在做的JSP。你能给我们看一下你的服务器部分吗?我没法跟你说,你能详细说明一下吗?给我们看一下你用来打印文本的方法,您的Javaservlet。在这里您可以看到它已经完成了:它并没有解决问题?也许您需要响应。setCharacterEncoding(“UTF-8”);看看这个,我按照你的建议做了,但是运气不好。你能告诉我在哪里为树脂服务器指定URIencoding吗?你是说tomcat的URIencoding?我知道tomcat的URIencoding位置,但想知道树脂的位置!我已经回答了这个问题,答案是我提供的。(见下文)。
    
     <head>
        <meta charset="UTF-8">
     </head>
    
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    </head>