使用URLDecoder.decode解析字符串含有“+“,“+“号这个特殊字符会被吃掉,转换成空格

问题:详情编辑器中输入的+,最终处理完后变成了空格。

前台页面JS中对商品详情进行转码的时候用的是:

encodeURI(encodeURI(ckeditData));          ckeditData是详情编辑器里的内容信息。

 

后台Java代码解码的时候使用的是:

cmmdtydescFinal = java.net.URLDecoder.decode(java.net.URLDecoder.decode(cmmdtydescFinal, "UTF-8"),
        "UTF-8");

原因:前台使用encodeURI进行转码的时候,由于encodeURI对于 + 这个字符不进行转码,所以导致解码有问题。

        URLDecoder.decode解码的时候会把+替换成空格。

 

正确写法:

正确的应该使用encodeURIComponent。

encodeURIComponent(encodeURIComponent(ckeditData));

 

你可能感兴趣的:(生产问题汇总)