使用request.getparameter()无法使用西班牙语字符

时间:2015-01-27 10:41:02

标签: java jsp request

我正在尝试使用request.getParameter()方法在Java中获取西班牙语字符。但它正在回归垃圾角色。

网址 http://localhost:8080/myweb/encode.jsp?first_name=RamónMartínez

编码网址: http://localhost:8080/myweb/encode.jsp?first_name=Ram%C3%B3n%20Mart%C3%ADnez%20

示例1:

JSP代码:

   <%  request.setCharacterEncoding("UTF-8");
  String firstname= request.getParameter("first_name");
    %>
    <%=firstname %>

示例2:

JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="org.apache.commons.lang3.StringEscapeUtils,java.net.URLDecoder,java.net.URLEncoder"   %>

      <%  request.setCharacterEncoding("UTF-8");
String firstname = java.net.URLDecoder.decode(((String[])request.getParameterMap().get("first_name"))[0], "UTF-8");
%>


<%=firstname %>

输出

Ramón Martínez

预期输出:

Ramón Martínez

我们尝试使用以下建议(How to get UTF-8 working in Java webapps?)编辑server.xml。它的工作但我们不想通过编辑server.xml来使用这个解决方案。

我们尝试添加以下代码,但这不起作用。

CODE : request.setCharacterEncoding("UTF-8"); 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试将<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>放在主jsp文件的最开头。

希望这有帮助。