我在Spring项目中遇到编码问题。现在我使用 -Dfile.encoding=ISO-8859-1 参数运行 jvm (tomcat)。在我的.jsp文件中有几行:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" session="true" %>
<meta charset="iso-8859-1">
在 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>ISO-8859-1</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>
但当我用波兰语字母łśżź传递值时,我遇到了一个问题。在我的java控制器中,打印(并保存在DB中)的值是用html代码代替抛光字母。例如
aaalł保存为aaal[am]#322;[上午]#322;[上午]#322;我写[是]而不是&符号。
我检查了一下[am]#322; is超文本标记语言代码的字母。如何修复它?
如果您要将数据保存到数据库,在此之前,将数据保存在正常视图中,请检查DB编码,即:
CREATE DATABASE table DEFAULT CHARACTER SET 'utf8' DEFAULT COLLATE 'utf8_unicode_ci';
另外,检查URL表,即:
jdbc:mysql://localhost:3306/table?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
如果问题没有将数据保存到数据库,请尝试在jsp中设置行:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
在极端情况下,建议使用带有json的ajax,设置任何编码。
主要内容:ISO-8859-1,HTML 预留字符,ISO 8859-1 字符实体现代的浏览器支持的字符集: ASCII 字符集 标准 ISO 字符集 数学符号、希腊字母、其他符号 ISO-8859-1 ISO-8859-1 是大多数浏览器默认的字符集。 ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 ASCII 字符集(0-9 的数字,大写和小写英文字母表,以及一些特殊字符)。 ISO-8859-1 的较高部分(从 160 到 255 之间的代码)
Unicode是ISO-8859-1的超集,因此前256个Unicode字符对应于ISO-8859-1。
问题内容: 我在评论 @Esailija回答我的一个问题时读到 ISO-8859-1是唯一完全保留原始二进制数据的编码,其字节<->代码点精确匹配 我也在@AaronDigulla的这个答案中读到: 在Java中,ISO-8859-1(也称为ISO-Latin1)是1:1映射 我需要对此有一些了解。这将失败: 问题 我承认我不太了解它- 为什么它没有得到上面代码中的字节 ? 最重要的是, 这是哪里
我在Java应用程序中遇到字符串编码的问题。我的Informix数据库有ISO-8859-2编码。我在连接字符串中设置了。我的连接URL如下所示: 从数据库中选择数据后,Java字符串不能识别波兰特殊字符。方法返回代码。
问题内容: 我有一个编码为iso-8859-1的文件,其中包含诸如ô的字符。 我正在用Java代码读取此文件,例如: 但是ô字符总是乱码,通常打印为?。。 我已经读过这个主题(并且在途中学到了一点),例如 http://www.joelonsoftware.com/articles/Unicode.html http://bugs.sun.com/bugdatabase/view_bug.do?b
我有一个Android应用程序,它读取带有SQL脚本的文件,将数据插入SQLite数据库。然而,我需要知道这个文件的详细编码,我有一个从SQLite读取信息的EditText,如果编码不正确,它将显示为无效字符,如“?”而不是像“ç,í,ã”这样的字符。 我有以下代码: 这适用于“ISO-8859-1”编码,如果我将“UTF-8”设置为字符集,则适用于UTF-8。我需要以编程方式检测字符集编码(U