当前位置: 首页 > 知识库问答 >
问题:

Spring MVC问号代替抛光letters.withCharset或java编码(抛光字母)

壤驷深
2023-03-14

在我的SpringMVC项目中,我有几个。定义了如下字符集的jsp视图:

<%@ page language="java" contentType="text/html; charset=windows-1250"
pageEncoding="windows-1250" session="true" %>

元素中还有一个元:

<meta charset="windows-1250">

我使用eclipse和tomcat 8来实现和调试。在web中。xml我定义了如下编码过滤器:

<filter>  
    <filter-name>encodingFilter</filter-name>  
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    <init-param>  
       <param-name>encoding</param-name>  
       <param-value>WINDOWS-1250</param-value>  
    </init-param>  
    <init-param>  
       <param-name>forceEncoding</param-name>  
       <param-value>true</param-value>  
    </init-param>  
</filter>  
<filter-mapping>  
    <filter-name>encodingFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping> 

在我的Controller类(在适当的Request estMapper中)中,我正在打印一些字符集:

System.out.println("Default Charset=" + Charset.defaultCharset());
System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("Default Charset=" + Charset.defaultCharset());
System.out.println("Default Charset in Use=" + getDefaultCharSet());

当我传入一些波兰语字母时。jsp视图(由ModelAtribute传递),例如:控制器中(以及作为结果的数据库中)的打印值为:abcde。上述系统的输出。出来打印LNS。。。是:

Default Charset=windows-1250
file.encoding=windows-1250
Default Charset=windows-1250
Default Charset in Use=Cp1250

你知道那些波兰语字母哪里有问题吗?

编辑定义了UTF-8的相同输出

Default Charset=UTF-8
file.encoding=UTF-8
Default Charset=UTF-8
Default Charset in Use=UTF8

字串abcdeóhić打印为:abcdeóhić

编辑:

当我将所有编码更改为UTF-8时,问题是相同的。但是,我注意到:当我首先解码ISO-8859-1中的文本,然后将其编码为UTF-8时,打印并保存的值是可以的:

byte ptext[] = email.getBytes(Charset.forName("ISO-8859-1")); 
String value = new String(ptext, Charset.forName("UTF-8")); 
System.out.println("Value email: " + value);

在每个。jsp文件我有那些带有UTF-8字符集的行,文件是用UTF-8编码的,java类也有,并且以某种方式值来自。jsp表单在ISO-8859-1中。这怎么可能?

共有1个答案

廖琪
2023-03-14

我测试,我看到波兰字符串显示正确与以下配置...

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

还有内部头部标签

<meta charset="utf-8">

和我的编码过滤器配置

CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
http.addFilterBefore(filter, CsrfFilter.class);
http.csrf().disable();

所以我想如果你改变一切,你会好起来的。此外,我的配置不是xml格式,但与您看到的相同,只是编码字符串部分不同。

我在Eclipse中的Java填充编码是UTF-8。

 类似资料:
  • 按照我找到的这个教程,我一直在Unity(C#)中创建了一个简单的贪吃蛇游戏: https://www.youtube.com/watch?v=U8gUnpeaMbQ 我发现这是一个非常好的教程,到最后我有一个完美的蛇游戏,但是,我想走得更远一点,使运动更加愉快,添加尾巴,Gameover等。 现在我的问题是,如果一个玩家快速连续按下两个可接受的方向试图抓住一些食物,蛇的头会跳过食物,完全错过它。

  • 我是spring MVC的新手。我需要在jsp中编写java代码(虽然这不是一个好的实践,但我没有其他选择)。我的Jsp现在是 但它给出了一个错误“org.apache.jasper.JasperException:无法为JSP编译类:”。有人能帮忙吗?? 包含的标题是 org.apache.jasper.compiler.DefaultErrorHandler.javac错误(andler.ja

  • 概述 180光电编码电机采用光编码器,可以高精度控制。它可以灵活地和各种其他零件组合使用,机身三面各有两个M4螺纹孔可以方便和 makeblock 平台机械件进行连接固定。同时,由于使用定制材料,使得此款电机运行时噪音小,并可以长时间大扭矩输出。此款电机支持多个电机驱动和主控板,如 Orion、MegaPi、MegaPi Pro、Me Auriga 主控板。 技术规格 减速比:39.6 额定电压:

  • 我尝试用Java套接字API制作基本的Java聊天应用程序。但是当客户端终止时,它会引发以下异常, socketException:套接字关闭 我认为即使套接字已经关闭,BufferedReader流仍然尝试读取行消息。 但我不知道当客户端终止时,何时以及如何关闭BufferedReader流和套接字连接。 我完全被这部分卡住了。有什么想法吗?

  • Unity 中的光照主要由灯光对象提供。还有两种其他方式可以产生光(环境光和自发光材质),这取决于你选择的光照方案。 下面几节详细介绍了 Unity 中创建灯光的各种方法。

  • 问题内容: 有人可以在以下代码中解释问号吗?INITIAL_PERMANCE也是代码中的静态最终常量,但是synatax的最后一行叫什么? 问题答案: ?和:是Java条件运算符的一部分。有时称为三元运算符,因为它是Java中唯一带有3个参数的运算符。 这本质上是一个内联IF / THEN / ELSE块。 可以重写如下: 条件运算符的一般形式是