Java 在接收UTF-8时,REST忽略任何非英文字符的部分

Java 在接收UTF-8时,REST忽略任何非英文字符的部分,java,javascript,ajax,rest,utf-8,Java,Javascript,Ajax,Rest,Utf 8,以UTF8格式向使用REST的服务器发送ajax请求时,会忽略任何非英文字符的部分 我在服务器端使用JAVA和REST,客户端用UTF8发送ajax请求,其中包括希伯来语 AJAX请求: var clientNumber = '12344432432'; var userID = '321321321'; var someHebrewWord = ...; var someEnglishWord = ....; var servletUrl = '/Management/services/

以UTF8格式向使用REST的服务器发送ajax请求时,会忽略任何非英文字符的部分

我在服务器端使用JAVA和REST,客户端用UTF8发送ajax请求,其中包括希伯来语

AJAX请求:

var clientNumber  = '12344432432';
var userID = '321321321';
var someHebrewWord = ...;
var someEnglishWord  = ....;

var servletUrl = '/Management/services/manager/' + clientNumber + '/' + userID + '/' + someEnglishWord + '/' someHebrewWord;
alert('Sending this :' + servletUrl);
$.ajax({ 
    url: servletUrl,
    type: 'POST',
    cache: false, 
    data: { }, 
    success: function(data){
        alert('Return value is:' + data);
        window.location = "./replyPage.html";
    }
    , error: function(jqXHR, textStatus, err){
        alert('text status '+textStatus+', err '+err + " " + JSON.stringify(jqXHR));
    }
});
在服务器端,我使用REST:

@Produces({ "application/json" })
@Path("/manager")
public class Management {


    @POST
    @Path("{clientNumber }/{userID }/{someEnglishWord}/{someHebrewWord}")
    @Produces("application/json")
    public boolean insert(@PathParam("clientNumber") String clientNumber, @PathParam("userID") String userID,
                              @PathParam("someEnglishWord") String someEnglishWord, @PathParam("someHebrewWord") String someHebrewWord) 
    {
        // do some stuff 
    }


    @POST
    @Path("{clientNumber }/{userID }/{someEnglishWord}")
    @Produces("application/json")
    public boolean updateSomething(@PathParam("clientNumber") String clientNumber, @PathParam("userID") String userID , @PathParam("someEnglishWord") String someEnglishWord)

    {
        // do other stuff
    }   



    // more code 

}
因此,在发送AJAX请求时,将调用
updateMething()
,而不是
insert()
, 即使我发送了4个字段,而不是3个

这是什么原因造成的,我如何修复它


非常受欢迎的

URL中允许的字符受到限制。您必须使用以下代码对URL进行编码


更好的选择可能是将这些参数发布到数据变量中,并使用@FormParam而不是@PathParam。

因此,当您收到以下文本“我想自我介绍。附件是我的简历副本”时,您会怎么做。这不符合“英语”的条件吗。我的观点是,没有英语和非英语字符的区别。英语从许多语言中借用,在一个有效的英语句子中,你可能会遇到“非英语”字符。@JimGarrison:我的意思是,如果我发送而不是
,我想介绍我自己。随附一份我的简历的副本,一份我的简历的副本,一份我的简历的副本,一份我的简历,一份我的简历,一份我的简历,一份我的简历,一份我的代码,这,这,这是:本:本:本:本:本:本:本:本:本:本:本:本:本:本:代码>码码>上下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下然后将调用的代码是
updateMething