做J2EE三年了,对于乱码和路径问题已不是问题了。不过公司最近来了个新同事,据说也是工作了几年。某天居然来请教我一个乱码问题。
问题是这样的,偶数个中文不会乱码,奇数的时候最后一个字会出现乱码,而且页面都统一编码,还用了过滤器,获取的时候也转了码问题依然存在。我看了代码发现他是用js拼装url然后把值赋给action。然后再form.submit()提交。也就是说他的中文是通过url传递的。我就建议他用表单隐藏控件,要不然就把中文用java.net.URLEncoder.encode(str)先转码。因为他的页面是上传页面,而且是自己解析form表单,所以告诉他还可以用String(byte[] bytes, int offset, int length, String charsetName)。 虽然问题解决了,但是为什么奇数会出现问题仍不知,因为没看过底层的实现,所以还有待解决。