java - 构造URL查询字符串: character set encode/decode

标签 java jsp character-encoding

我正在尝试构建一个带有包含其他字符(在我的例子中是希伯来语)的查询字符串的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/

相关文章:

Java 在构造函数中泄漏 this

java - 如何在jSTL中编写涉及3个列表的foreach?

MySQL DISTINCT 和重音符号

java - MongoDB Java 驱动程序数组

c# - Java/C# 中的检查异常是什么?

java - 如何将值从 servlet 传递到 html 页面

java - 从表中的按钮调用 servlet

java - 为什么在链 byte[] → String → byte[] 中使用 UTF-8 字符集时输入和输出不同?

c# - C# 中的 char (C++) 操作

java - url.openStream 有害吗?