Java和JS / AS3之间的URL解码/编码UTF-8有所不同(bug !?)
||
我遇到了一个问题,URL解码了用Javascript或Actionscript 3编码的Java中的UTF-8字符串。我已经建立了一个测试用例,如下所示:
有问题的字符串是Produktgröße
当我用JS / AS3编码时,得到以下字符串:
escape(\'Produktgröße\')
产品%F6%DFe
当我用JS取消转义时,我没有任何改变
unescape(\'Produktgr%F6%DFe\')
产品%F6%DFe
因此,据此我假设JS无法正确编码字符串?
以下JSP产生了此异常
<%@page import=\"java.net.URLEncoder\"%>
<%@page import=\"java.net.URLDecoder\"%>
<%=(URLDecoder.decode(\"Produktgr%F6%DFe\",\"UTF-8\"))%><br/>
<%=(URLEncoder.encode(\"Produktgröße\",\"UTF-8\"))%><br/>
<%=(URLEncoder.encode(\"Produktgröße\"))%><br/>
<%=(URLDecoder.decode(URLEncoder.encode(\"Produktgröße\")))%><br/>
<%=(URLDecoder.decode(URLEncoder.encode(\"Produktgröße\"),\"UTF-8\"))%><br/>
产品
产品%C3%B6%C3%9Fe
产品%C3%B6%C3%9Fe
产品展示
产品展示
知道为什么我与语言存在这种差异以及为什么JS / AS3表现不如我预期吗?
谢谢。
没有找到相关结果
已邀请:
3 个回复
碉罕城爸
bab
桔马牛
\'name \'是一个字符串,其中包含特殊字符,例如Jérôme-Serrano 由于某些原因,JS / JQuery编码这些特殊字符的方式不兼容,我无法在Java BackEnd上对其进行解码... 解决方案是: 使用ѭ6在JS端编码 使用ѭ7在Java端对其进行解码 一些意见: http://www.programering.com/a/MjN2ADOwATg.html http://www.theerrormessage.com/2013/10/weird-characters-transmitted-to-and-from-server-through-jquery-ajax-call/