以前基本上没什么遇到URL中存在中文的情况,在JS实现时,为了把URL存在参数传递,也简单地escape下即可。这也造成我的一个误区,以为JS中的编码也就是escape实现的。今天,终于出问题了,查了半天资料,终于搞清楚了。
JS中存在两种函数:escape和encodeURI,前者是针对URL特定格式的编码,在后台解析时,与URLDecoder.decode是对应的。而encodeURI则是通常意义的编码问题,它实际上将中文等按UTF-8编码。在后台解析时,是与URLDecoder.decode(URL,"UTF-8")对应的。
…… |