我正在尝试使用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");
非常感谢任何帮助。
答案 0 :(得分:0)
尝试将<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
放在主jsp文件的最开头。
希望这有帮助。