把下面这句打印出来
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
解决方案 »
- 数据展示
- 求简单的改动 一
- 使用了未经检查或不安全的操作?
- 请教水晶报表9客户端制作rpt文件时data2 title字体设置的问题
- ---------------急求流量统计问题,请各位高手帮忙!!!--------------
- 我怎么样才能做到一个点击图片就可以提交?
- 急,在线等待 可能与环境有关!
- 如何一次性将下拉框中的多个值依次提交到数据库?
- 一个关于Graphics的错误!找了好久都找不到解决办法。
- 烦死人的jsp:include
- 高分求救,请高手指教,为什么在JSP中用javamail API发送邮件总出现连接超时错误,急死人!
- servlet与bean的存活期--------急!!!!!!!!!
前不久,我的一位技术上的朋友发信给我说,他终于找到了 Java Servlet 中文问题的根源。两周以来,他一直为 Java Servlet 的中文问题所困扰,因为每面对一个含有中文字符的字符串都必须进行强制转换才能够得到正确的结果(这好象是大家公认的唯一的解决办法)。后来,他确实不想如此继续安分下去了,因为这样的事情确实不应该是高级程序员所要做的工作,他就找出 Servlet 解码的源代码进行分析,因为他怀疑问题就出在解码这部分。经过四个小时的奋斗,他终于找到了问题的根源所在。原来他的怀疑是正确的, Servlet 的解码部分完全没有考虑双字节,直接把 %XX 当作一个字符。(原来 Java Soft 也会犯这幺低级的错误!)
如果你对这个问题有兴趣或者遇到了同样的烦恼的话,你可以按照他的步骤对 Servlet.jar 进行修改:
找到源代码 HttpUtils 中的 static private String parseName ,在返回前将 sb(StringBuffer) 复制成 byte bs[] ,然后 return new String(bs,”GB2312”)。作上述修改后就需要自己解码了:
HashTable form=HttpUtils .parseQueryString(request.getQueryString())或者
form=HttpUtils.parsePostData(……)
千万别忘了编译后放到 Servlet.jar 里面。