jsp没有以适当的格式传递UTF-8数据

我希望JSP页面支持UTF8数据我能够使用struts2和jsp进行本地化但是当我用本地语言从jsp上的用户获取数据时,信息不能以正确的格式运行,而是传递一些grabled数据。 这是我的jsp代码:——

        <s />     

: : :
: :  (mmm/dd/yyyy):
:
: :
: :
:

页面(或web.xml)中指定的字符编码将应用于HTTP通信的以下阶段:

  1. 准备/从客户端向服务器发送请求
  2. 在服务器中接收/读取请求
  3. 准备/从服务器向客户端发送响应
  4. 在客户端接收/读取响应

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,您需要进行以下更改:

  1. 在server.xml中设置URIEncoding =“UTF-8”。 参考: HTTP连接器 , AJP连接器 。
  2. 使用字符编码筛选器 ,默认编码设置为UTF-8
  3. 更改所有JSP以在其contentType中包含charset名称。 例如,对于通常的JSP页面使用<%@page contentType="text/html; charset=UTF-8" %> ,并使用用于XML语法的页面(又名JSP文档)。
  4. 更改所有servlet以设置响应的内容类型,并将内容类型中的charset名称包含为UTF-8。 使用response.setContentType("text/html; charset=UTF-8")response.setCharacterEncoding("UTF-8")
  5. 更改您使用的任何内容生成库(Velocity,Freemarker等)以使用UTF-8并在其生成的响应的内容类型中指定UTF-8。
  6. 在字符编码filter或jsp页面有机会将编码设置为UTF-8之前,禁用可能读取请求参数的任何阀门或filter。 有关更多信息,请访问http://www.mail-archive.com/users@tomcat.apache.org/msg21117.html 。