Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获得RESTeasy方法来正确使用应用程序/x-www-form-url编码为UTF-8?_Java_Encoding_Utf 8_Resteasy - Fatal编程技术网

Java 如何获得RESTeasy方法来正确使用应用程序/x-www-form-url编码为UTF-8?

Java 如何获得RESTeasy方法来正确使用应用程序/x-www-form-url编码为UTF-8?,java,encoding,utf-8,resteasy,Java,Encoding,Utf 8,Resteasy,我正在使用 curl --data-binary "content=abcdeöäüabcde" http://myserver.com/application/api -H "Content-Type: application/x-www-form-urlencoded; encoding=utf-8" 将表单数据发布到我的web服务器 在服务器端,我想解码内容: @POST @Path("/api") @Consumes("application/x-www-form-urlencoded

我正在使用

curl --data-binary "content=abcdeöäüabcde" http://myserver.com/application/api -H "Content-Type: application/x-www-form-urlencoded; encoding=utf-8"
将表单数据发布到我的web服务器

在服务器端,我想解码内容:

@POST
@Path("/api")
@Consumes("application/x-www-form-urlencoded")
public void createNote(@FormParam("content") String content){
    System.out.println(content);
}
结果是
abcde???abcde

有人知道我如何告诉这个方法将表单参数作为UTF-8使用吗?

试试:

byte[] encoded = content.getBytes("UTF-8");
尝试:


cURL似乎根本无法处理POST请求中的UTF-8编码字符串。将字符串转换为拉丁文1解决了我的问题。

cURL似乎根本无法处理POST请求中的UTF-8编码字符串。将字符串转换为拉丁文1解决了我的问题。

我刚刚解决了。生成的十六进制代码是:
61 62 63 64 65 c3 83 c2 b6 c3 83 c2 a4 c3 83 c2 bc 61 62 63 64 65
-这似乎不正确。encoded.toString()返回数组的对象id或地址。但我尝试了新字符串(编码为“UTF-8”)。也没用,我只是用了。生成的十六进制代码是:
61 62 63 64 65 c3 83 c2 b6 c3 83 c2 a4 c3 83 c2 bc 61 62 63 64 65
-这似乎不正确。encoded.toString()返回数组的对象id或地址。但我尝试了新字符串(编码为“UTF-8”)。也不管用。