Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java UTF-8在Tomcat的SpringWeb应用程序中不工作,Jetty中一切正常_Java_Spring_Spring Mvc_Utf 8 - Fatal编程技术网

Java UTF-8在Tomcat的SpringWeb应用程序中不工作,Jetty中一切正常

Java UTF-8在Tomcat的SpringWeb应用程序中不工作,Jetty中一切正常,java,spring,spring-mvc,utf-8,Java,Spring,Spring Mvc,Utf 8,我有一张这样的表格: <form method="post" accept-charset="utf-8"> <fieldset> <legend>Send a Message To Future</legend> <label for="fullName">Your Name:</label> <input type="text" name="fullName"

我有一张这样的表格:

<form method="post" accept-charset="utf-8">
    <fieldset>
        <legend>Send a Message To Future</legend>
        <label for="fullName">Your Name:</label>
        <input type="text" name="fullName" id="fullName">
        <br/>
        <label for="message">Your Message:</label>
        <textarea name="message" rows="3" id="message" style="width: 400px"></textarea>
        <br/>
        <button type="submit" class="btn">Submit</button>
    </fieldset>
</form>
在web.xml中,我有:

<page-encoding>UTF-8</page-encoding>
当我发布诸如“ğ”之类的字符时,如果应用程序部署到Tomcat,我会看到奇怪的字符。但如果我经营码头,一切都很好

Tomcat的server.xml具有:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />

我错过了什么


我用Tomcat 7和8都试过了。

web.xml
@M.Deinum-Ah中的请求添加
CharacterEncodingFilter
。谢谢。我都快疯了。但是为什么码头没有问题呢?只使用Tomcat?不知道,不同的服务器、不同的实现、不同的默认值、配置等等。实际上,有可能,一切都是正确的,但System.out.println()的做法不同。在控制台输出中,我也没有看到特殊字符。但在数据库中,这是正确的。当我从数据库中获取它并在带有UTF-8编码的HTML页面上使用它时,它也是可以的。@M.Deinum您可以提供它作为答案以便我可以接受吗?为您的
web.xml
@M.Deinum Ah中的请求添加
CharacterEncodingFilter
。谢谢。我都快疯了。但是为什么码头没有问题呢?只使用Tomcat?不知道,不同的服务器、不同的实现、不同的默认值、配置等等。实际上,有可能,一切都是正确的,但System.out.println()的做法不同。在控制台输出中,我也没有看到特殊字符。但在数据库中,这是正确的。当我从数据库中获取它并在带有UTF-8编码的HTML页面上使用它时,它也可以。@M.Deinum您能提供它作为答案让我接受吗?
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "biz.tugay.forFuture.web")
public class ServletConfigClass extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver resolver =
                new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        resolver.setExposeContextBeansAsAttributes(true);
        return resolver;
    }

    @Override
    public void configureDefaultServletHandling(
            DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

}
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />