Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 使用spring MVC 3获得问号而不是重音字母_Java_Spring_Unicode_Diacritics - Fatal编程技术网

Java 使用spring MVC 3获得问号而不是重音字母

Java 使用spring MVC 3获得问号而不是重音字母,java,spring,unicode,diacritics,Java,Spring,Unicode,Diacritics,我尝试了很多东西,但不明白为什么我会这样?而不是重音字符 我在我的html上使用: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 我该如何解决这个问题 谢谢我可以通过在主模板上添加以下代码来解决此问题: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 重

我尝试了很多东西,但不明白为什么我会这样?而不是重音字符

我在我的html上使用:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
我该如何解决这个问题


谢谢

我可以通过在主模板上添加以下代码来解决此问题:

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

重音字母和其他语言,如普通话和阿拉伯语,都很棘手。
我想您还没有看到本期的最后一期。
您应该确保在链中的任何链接中正确编码文本

例如

  • 数据库->java->响应->浏览器
  • 属性文件->jav->响应->浏览器
  • 请求(参数/表格)->响应->浏览器
  • java->logger->console
我建议遵循这个伟大的答案

要将其调整为spring,请使用spring的CharacterEncodingFilter

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
      org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
         </init-param>
        <init-param>
             <param-name>forceEncoding</param-name>
                <param-value>true</param-value>
         </init-param>
 </filter>
有关更多信息,请参阅


请注意,某些视图解析程序也需要定义编码。

您是否可能获得正确的字符,只是当您将其打印到控制台时,您的控制台不支持utf-8?试试这个:这是一个帖子还是一个get请求?您可以添加带有实际注释的实际方法吗?这是Post请求,代码是:RequestMapping(value=“/userSignup”,method=RequestMethod.Post)公共字符串userSignup(RequestParam(“name”)字符串name,RequestParam(“email”)字符串email,RequestParam(“birthdayDay”)字符串birthdayDay,RequestParam(“birthdayMonth”)字符串birthdayMonth、RequestParam(“birthdayYear”)字符串birthdayYear、RequestParam(“sex”)字符串sex、RequestParam(“password”)字符串passwordConfirmation、RequestParam(“passwordConfirmation”)字符串passwordConfirmation、HttpServletResponse、ModelMap model){我会检查这个。谢谢Haim!还有一个潜在的问题是log4j appender的编码。将以下内容添加到log4j.properties文件log4j.appender.emsSpringLogFile.encoding=UTF-8
<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
      org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
         </init-param>
        <init-param>
             <param-name>forceEncoding</param-name>
                <param-value>true</param-value>
         </init-param>
 </filter>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
    >
        <property name="basename" value="classpath:messages"/>
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="useCodeAsDefaultMessage" value="false"/>
</bean>
new String(yourstring, "UTF8")