Dan*_*bbs 3 java servlets character-encoding url-encoding
我有一个servlet接收一些POST数据.因为这个数据是x-www-form-urlencoded,所以像サボテン这样的字符串将被编码为サアテン.
如何将此字符串取消编码回正确的字符?我尝试过使用URLDecoder.decode("encoded string", "UTF-8");但没有什么区别.
我想对它们进行编码的原因是因为,在我在网页上显示这些数据之前,我逃避了& 目前,它正在转义编码字符串中的&s,因此字符没有正确显示.
这些不是 URL编码.它看起来像%E3%82%B5%E3%83%9C%E3%83%86%E3%83%B3.这些是十进制HTML/XML实体.要浏览HTML/XML实体,请使用Apache Commons Lang StringEscapeUtils.
根据评论更新:当响应编码不是UTF-8时,您将收到问号.如果您正在使用JSP,只需将以下行添加到页面顶部:
<%@ page pageEncoding="UTF-8" %>
Run Code Online (Sandbox Code Playgroud)
有关本文中途的解决方案,请参阅更多详细信息.我更喜欢使用-UTF8-all-the-way来摆弄正则表达式,因为正则表达式不会让你为世界统治做好准备.