Struts 1.3 Ajax调用日文字符编码问题
Struts 1.3 Ajax call Japanese character encoding issue
我正在使用 Java 1.7 和 struts 1.3 框架。我在为日本客户工作。目前我的要求是使用 JQuery Ajax 调用将搜索键(包含日语字符串)发送到操作 class。但在动作方面,我发现一些日本字符被破坏了。
我的代码:
var searchKey = $('#searchtxt').val();
// some Japanese string value for search.
var data = {
// other properties
"searchKey": searchKey,
// Other properties
};
$.ajax({
type: 'POST',
url: url,
data: data,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function (resultData){//dostuff}
});
我对 SO 很陌生,不知道如何格式化。
我已经在 SO 上尝试了很多解决方案,但都不适合我。任何帮助将不胜感激。
感谢您的任何帮助。
为了解决这个日语编码问题,使用URL编码机制,然后通过ajax调用发送数据。然后在 Struts 操作端,您只需使用 URL 解码器机制对其进行解码。
它将解决这个问题。
为了更清楚,请参阅下面的代码。
在Java脚本端从隐藏字段中获取数据时使用URL编码方法:
var searchKey = encodeURIComponent($('#searchtxt').val().trim());
// It will encode the Japanese string before send from Ajax call.
在Struts动作端使用URL解码器class解码字符串值:
String searchKey=form.getSearchKey();
if(!searchKey.isEmpty()) //Check for empty or null string
{
// Decode the string using URLDecoder class from java.net package
form.setSearchKey(URLDecoder.decode(searchKey, "UTF-8"));
}
我正在使用 Java 1.7 和 struts 1.3 框架。我在为日本客户工作。目前我的要求是使用 JQuery Ajax 调用将搜索键(包含日语字符串)发送到操作 class。但在动作方面,我发现一些日本字符被破坏了。
我的代码:
var searchKey = $('#searchtxt').val();
// some Japanese string value for search.
var data = {
// other properties
"searchKey": searchKey,
// Other properties
};
$.ajax({
type: 'POST',
url: url,
data: data,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function (resultData){//dostuff}
});
我对 SO 很陌生,不知道如何格式化。
我已经在 SO 上尝试了很多解决方案,但都不适合我。任何帮助将不胜感激。 感谢您的任何帮助。
为了解决这个日语编码问题,使用URL编码机制,然后通过ajax调用发送数据。然后在 Struts 操作端,您只需使用 URL 解码器机制对其进行解码。 它将解决这个问题。 为了更清楚,请参阅下面的代码。
在Java脚本端从隐藏字段中获取数据时使用URL编码方法:
var searchKey = encodeURIComponent($('#searchtxt').val().trim());
// It will encode the Japanese string before send from Ajax call.
在Struts动作端使用URL解码器class解码字符串值:
String searchKey=form.getSearchKey();
if(!searchKey.isEmpty()) //Check for empty or null string
{
// Decode the string using URLDecoder class from java.net package
form.setSearchKey(URLDecoder.decode(searchKey, "UTF-8"));
}