标签:URLDecoder

flex编码问题(encodeURI)

发表于3年前(Dec 24, 2014 9:15:35 AM)  阅读 516  评论 0

分类: Flex

标签: decode encode encodeURI URLDecoder URLEncoder

中文处理一直是个很头疼的问题,前台页面到后台程序传值,如果值包含中文,通常我们会在页面对中文进行编码,然后在后台进行一次解码,这种情况能解决大多数问题。然后最近我发现我最终获得的字符串里,“+”全部变成了空格,仔细研究了一下,终于找到了问题所在。

项目是采用前台Flex后台java的形式,编码统一采用UTF-8,“+”对应的UTF-8应该为“%2B”,在java端,使用URLEncoder对字符进行编码,再用URLDecoder进行解码,是不会出问题的。进行debug,发现servlet接收的值里面,字符串里面显示的是“+”,开始没在意,然后用URLDecoder.decode进行解码时,发现“+”全部变成空格,认为是java解码有问题
svg = svg.replaceAll(“\\+”, “@plus@”);
svg = URLDecoder.decode

......