我正在尝试使用request.getParameter()方法在Java中获取西班牙语字符。但它正在返回垃圾字符。
网址: http://localhost:8080/myweb/encode.jsp?first_name=Ramón 马丁内斯
编码网址: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
我们尝试使用以下建议编辑服务器.xml(如何让 UTF-8 在 Java Web 应用程序中工作?它正在工作,但我们不想通过编辑服务器.xml来使用此解决方案。
我们尝试添加以下代码,但这不起作用。
CODE : request.setCharacterEncoding("UTF-8");
尝试将<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
放在主 jsp 文件的开头。
希望这有帮助。