这行代码,用于解码编码中国字:编码/解码奇怪的问题
URLDecoder.decode("%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86%E5%BA%94",
"UTF-8").getBytes().length
当我在JSP页面中运行(在JBoss),它打印5:
<%= URLDecoder.decode("%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86%E5%BA%94",
"UTF-8").getBytes().length %>
在桌面应用程序打印15中运行它:
public static void main(String[] args) {
System.out.println(URLDecoder.decode(
"%E4%BB%BB%E4%BD%95%E8%BD%A6%E8%BE%86E5%BA%94", "UTF-8"
).getBytes().length);
}
为什么?我想让jsp也得到15,怎么样?
你确定吗?仔细检查是否有其他问题。你的整个JSP页面是什么样的?是不是从15被隐藏的1个? JSP中的Java代码只是普通的Java代码,与servlet中的Java代码完全相同(实际上,JSP将转换为servlet)。 – Jesper 2009-10-06 20:59:32
JSP页面不包含任何其他URLDecoder导入语句,我仅将它用于测试。 – Moro 2009-10-06 21:03:20
不,它是5我正确地看到它。 – Moro 2009-10-06 21:04:48