Javascript\将双字节日语空格更改为英语空格
我有一个文本框来输入文本,但服务器无法处理双字节空间。 我想在发送之前将其转换为常规空格 试图做Javascript\将双字节日语空格更改为英语空格,javascript,string,internationalization,Javascript,String,Internationalization,我有一个文本框来输入文本,但服务器无法处理双字节空间。 我想在发送之前将其转换为常规空格 试图做 var content = "よろしいでしょう キャンセル" content = content.replace(" ", " "); 但现在IDE大声疾呼,它无法以这种方式保存它。 有没有标准的方法 来自Fiddler的请求标头: POST /blablabla/SearchTerm HTTP/1.1 Host: localhost Connection: keep-alive Content-
var content = "よろしいでしょう キャンセル"
content = content.replace(" ", " ");
但现在IDE大声疾呼,它无法以这种方式保存它。
有没有标准的方法
来自Fiddler的请求标头:
POST /blablabla/SearchTerm HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 290
Accept: application/json
Origin: http://localhost
X-Requested-With: XMLHttpRequest
Accept-Language: en-US
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Content-Type: application/json
Referer: http://localhost/blablabla
Accept-Encoding: gzip, deflate
而请求本身来自fiddler:
{...."content":"\u3088\u308d\u3057\u3044\u3067\u3057\u3087\u3046\u3000\u30ad\u30e3\u30f3\u30bb\u30eb"....}
还有来自javascript的Ajax调用
// Invoke request to server and register to the success and failure events
Ext.Ajax.request({
url: '/blablabla/SearchTerm',
method: "POST",
headers: this.header || {
"Content-Type": "application/json",
"Accept": "application/json"
},
jsonData: {
content: content,
},
timeout: this.configuration.getAjaxRequestTimeout(),
success: searchCompletedSuccessDelegate,
failure: searchCompletedFailureDelegate
});
我猜您的IDE不支持空格\u3000的编码,因此您可以使用unicode表示法和\u转义(不知道真名):
我不知道VS是什么,但是一些IDE可以将文件配置为UTF-8以避免这个问题。您的文件编码、服务器编码(在内容类型头中)是什么,以及您的IDE是什么?在fiddler中,我看到了内容类型:application/json,IDE是VS2012Ok,在IDE之前。我们还需要知道您的编码是什么:UTF-8或其他编码(UTF-x、ISO xxx等)。您提供的内容类型没有指定它。明天将获得该编码;)我将请求标题添加到问题。。
//will work in any case
var content = "\u3088\u308d\u3057\u3044\u3067\u3057\u3087\u3046\u3000\u30ad\u30e3\u30f3\u30bb\u30eb";
content.replace("\u3000"," ")