表单向Servlet提交参数时的中文乱码问题

    用JSP&Servlet写了个website,其中有一个reg.html里面有一个表单,用于提交用户输入的个人信息,还有一个Servlet用于监听这个表单提交的参数,并且reg.html里面的charset=UTF-8,整个Eclipse也是用的UTF-8编码(工作空间范围:Window->Preferences->General->Workspace->Text file encoding->Other->UTF-8 or 项目范围:Project->Properties->Resource->Text file encoding->Other->UTF-8)。

    问题来了,如果提交的参数全部是英文,没有任何问题。但是若某个参数是中文的,提交到Servlet后,打印出来就是一系列的????(仅是中文参数,英文参数显示正常),查遍了项目中所有相关的编码,都是UTF-8的,后来尝试着在doPost()方法的开头(或者获取参数值之前)设置了一下编码集,问题就解决了:

request.setCharacterEncoding("UTF-8");
posted @ 2010-08-19 14:26  philander  阅读(781)  评论(1编辑  收藏  举报