我正在尝试使用jQuery对字符串进行HTML编码,但我似乎无法找到正确的编码格式。
我得到的是像Ütest.docx这样的字符串。服务器不能很好地处理特殊字符,因此我从Java获得了FileNotFoundException(我无法编辑服务器本身)。
现在,我试过并发现当我用%DC替换Ü时,URL有效。现在我认为这称为HTML编码,谷歌搜索了一下,但我总是得到一些关于URL编码的结果。我检查了一下,似乎这不是正确的编码,因为Ü正在编码为%C3%9C,这对服务器不起作用。
现在,将编码Ü到%DC的编码是什么?在javascript或jQuery中是否有一个函数可以为我编码?
感谢您的帮助,我一直在努力找出一小时内我需要的编码,但没有运气。
答案 0 :(得分:1)
它们都是URL编码,只是UTF-8是新标准。
如果您使用的是Tomcat,则只能使用使用UTF-8的encodeURIComponent()
并在将Tomcat连接器URIEncoding属性设置为<connector URIEncoding="UTF-8" ...>
如果不行,你可以使用:
function uriEncodeLegacy( str ) {
return escape(str.replace( /[\u0100-\uFFFF]/g, ""));
}
uriEncodeLegacy("Ü") //%DC
但建议使用UTF-8,否则您甚至无法支持€
字符。