求助!为什么Html表单向Servlet提交中文时出现乱码啊?

我在Servlet中利用request.setCharacterEncoding("UTF-8");StringactionUrl=request.getServletP... 我在Servlet中利用

request.setCharacterEncoding("UTF-8");
String actionUrl = request.getServletPath();
if(actionUrl.equals("/register.action")){
//获取参数

String username = request.getParameter("username");
String realname = request.getParameter("realname");
String password = request.getParameter("password");
System.out.println(username);//打印出来的中文编程乱码了,向MySQL中插入失败。
P.S:我的my.ini中以及连接数据库的Bean中都是设置的UTF-8啊,网上说是把form设置成accept-charset="utf-8",我试了一下还是不行啊, 求大神指教。
展开
 我来答
shafferw
2013-06-25 · 超过22用户采纳过TA的回答
知道答主
回答量:60
采纳率:100%
帮助的人:38.3万
展开全部
将request.setCharacterEncoding("UTF-8");
换成request.setCharacterEncoding("GBK");试试。

如果管用的话,最好使用filter来做这个。
更多追问追答
追问
这个不行啊。@shafferw"最好使用filter来做这个。"怎么写呢?
追答
是request.setCharacterEncoding("GBK")不管用?
可以试试在html中也把编码格式改为"GBK"。
或者在servlet中转一下 new String(username .getBytes("ISO-8859-1"),"GBK");
new String(username .getBytes("UTF-8"),"GBK");
看看哪个能正常。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式