gpt4 book ai didi

java - Spring 3 MVC 应用程序中的 UTF-8 支持

转载 作者:行者123 更新时间:2023-11-30 06:30:49 27 4
gpt4 key购买 nike

我在使用 UTF-8 时遇到问题。

common.jsp

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

typical.jsp

<%@ include file="common.jsp" %>

页眉

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

表单

<form id="screenObject" accept-charset="UTF-8" action="/SiteAdmin/articleHeaderEdit?articleId=15" method="post">

我在文本字段中输入非 latin1 字符,然后单击“保存”。 Validator 提示另一个字段并停止提交。这永远不会到达数据库,因此处理 UTF-8 的数据库能力不在此图中。该页面重新显示并出现适当的错误,但输入的文本全乱了。所有非 latin1 字符都被转换为一些乱码。

我正在使用 Spring 3 MVC,以防万一......

尝试

将此添加到我的 View 解析器没有帮助:

<property name="contentType" value="text/html;charset=UTF-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>UTF-8</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>

最佳答案

在数据流的某个地方,您正在使用 UTF-8 以外的东西将字符串编码为字节或将字节流解码为字符串。当您使用某些使用默认字符编码的 API 调用时,通常会发生这种情况。在不知道您的代码的情况下,我们只能告诉您这些。

另见 this link对于 Spring 中的字符编码问题,或者只是在论坛中搜索 [spring] character encoding 以获得许多其他帖子。

关于java - Spring 3 MVC 应用程序中的 UTF-8 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com