我正在尝试构建一个带有包含其他字符(在我的例子中是希伯来语)的查询字符串的URL。 然而,当我的web应用程序收到请求时,提取的请求参数是乱码......
我该如何解决这个问题?
new URL("http://localhost:8080/SRV/page.jsp?param=" + URLEncoder.encode("heb text", "UTF-8")).openConnection();
目标页面:
<%
System.out.println("Receive: " + request.getParameter("param"));
%>
我使用的是tomcat6、jdk6、windows7 x64
编辑:这是我的页面声明:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
最佳答案
查看 $TOMCAT_HOME/conf/server.xml
文件并检查编码设置:
<Connector port="8080" ... URIEncoding="UTF-8" />
Tomcat 似乎需要 UTF-8 的此设置才能适用于 HTTP 请求值,例如请求参数。
关于java - 构造URL查询字符串: character set encode/decode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300739/