jsp没有以适当的格式传递UTF-8数据
我希望JSP页面支持UTF8数据我能够使用struts2和jsp进行本地化但是当我用本地语言从jsp上的用户获取数据时,信息不能以正确的格式运行,而是传递一些grabled数据。 这是我的jsp代码:——
: : : : : (mmm/dd/yyyy): : : : : : :
页面(或web.xml)中指定的字符编码将应用于HTTP通信的以下阶段:
- 准备/从客户端向服务器发送请求
-
在服务器中接收/读取请求 - 准备/从服务器向客户端发送响应
- 在客户端接收/读取响应
Application Server是第2阶段的唯一负责人。
您需要查找特定的应用程序服务器设置,以更改默认字符编码(可以很容易地为ISO-8859-1
),并将其更改为在UTF-8
。
例如,在Tomcat中,您需要编辑conf/server.xml
文件,方法是将URIEncoding="UTF-8"
参数添加到
,例如
至
在Apache Wiki中,有一个很好的清单要检查以确保所有组件都以UTF-8运行:
你能推荐什么才能让一切顺利? (如何在任何地方使用UTF-8)。
使用UTF-8作为一切的字符编码是一个安全的选择。 这应该适用于几乎所有情况。
要完全切换到使用UTF-8,您需要进行以下更改:
- 在server.xml中设置URIEncoding =“UTF-8”。 参考: HTTP连接器 , AJP连接器 。
- 使用字符编码筛选器 ,默认编码设置为UTF-8
- 更改所有JSP以在其contentType中包含charset名称。 例如,对于通常的JSP页面使用
<%@page contentType="text/html; charset=UTF-8" %>
,并使用用于XML语法的页面(又名JSP文档)。
- 更改所有servlet以设置响应的内容类型,并将内容类型中的charset名称包含为UTF-8。 使用
response.setContentType("text/html; charset=UTF-8")
或response.setCharacterEncoding("UTF-8")
。- 更改您使用的任何内容生成库(Velocity,Freemarker等)以使用UTF-8并在其生成的响应的内容类型中指定UTF-8。
- 在字符编码filter或jsp页面有机会将编码设置为UTF-8之前,禁用可能读取请求参数的任何阀门或filter。 有关更多信息,请访问http://www.mail-archive.com/users@tomcat.apache.org/msg21117.html 。
- iText 7 HTML到PDF的转换
- 为什么dispatch会抛出“java.net.ConnectException:General SSLEngine …”和特定URL的“意外状态”exception?
- Graphics.setXORMode(Color)用简单的术语做什么?
- 将jdouble转换为c类型的double
- 不能使用来自不同Maven模块的类
- httpclient jar冲突。如何解决?
- 如何在Spring MVC中请求完整的查询字符串?
- 获取NoSuchMethodError:javax.servlet.ServletContext.getVirtualServerName()
- 为什么在将String与null进行比较时会出现NullPointerException?