jsp表单中的项目符号编码不正确

jsp表单中的项目符号编码不正确,jsp,unicode,character-encoding,Jsp,Unicode,Character Encoding,我有一个带有jsp表单的web应用程序。如果用户将带项目符号的文本从word复制到表单中,项目符号将变成奇怪的字符,并由表单提交。是否有一种方法可以在jsp内部的表单级别防止这种情况发生。我正在使用UTF-8编码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 这不仅仅是项目符号-每个非ASCII字符都可能被损坏 您的页面是以UTF-8编码输出的,但您没有将

我有一个带有jsp表单的web应用程序。如果用户将带项目符号的文本从word复制到表单中,项目符号将变成奇怪的字符,并由表单提交。是否有一种方法可以在jsp内部的表单级别防止这种情况发生。我正在使用UTF-8编码

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

这不仅仅是项目符号-每个非ASCII字符都可能被损坏


您的页面是以UTF-8编码输出的,但您没有将输入作为UTF-8处理。不幸的是,Servlet规范在其许多严重错误中要求使用ISO-8859-1处理输入。完全改变这种行为是一件痛苦的事情,不同的servlet容器会有所不同

在从请求正文中提取第一个请求参数之前,需要将请求正文字符编码设置为相同,否则它将是依赖于servletcontainer的默认参数,通常是ISO 8859-1

request.setCharacterEncoding("UTF-8");
执行这项工作的一个明智的地方是

另见:

你是说项目符号恰好在最终用户将其粘贴到表单中的那一刻变成了
ÃÃ?
。我已经发布了解决这个问题的具体答案。