【发布时间】:2011-11-02 11:38:57
【问题描述】:
我在 apache tomcat 6 中有一个带有 spring、jsp 和 jquery 的 Web 应用程序,一个 jsp 页面有一个表单,该表单通过使用 jquery 进行的 ajax 调用将数据发送到我后端的 Spring MultiActionController。
问题在于表单输入中的 UTF-8 字符串。
我已经做了以下事情:
在我的 HTML 上:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
.
.
关于 jquery ajax 调用:
$.ajaxSetup({ scriptCharset: "utf-8" ,contentType: "application/x-www-form-urlencoded; charset=UTF-8" });
$.ajax(
{
type: "GET",
url: "./saveData.action",
contentType: "charset=utf-8",
data: { name: $('#name').val(),...
在tomcat server.xml上:
<Connector connectionTimeout="20000" port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" redirectPort="8443"/>
在多动作控制器上
public ModelAndView saveData(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
所以如果在 name 参数中我放了这样的东西:
玛丽亚
在后台我得到了
玛拉。
我已经尝试了所有我读到的东西,但我不知道是什么错误,谢谢你的帮助:)
【问题讨论】:
标签: jquery jsp spring-mvc utf-8 character-encoding