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”)。也不管用。