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"," ")