QQ1252776430 2016-03-08 05:45 采纳率: 22%
浏览 1722

html当表单name为中文时,servlet无法识别该中文属性传递的值

html中
select name="颜"
option value="红">红</option

servlet中String color=request.getParameter("颜");
response.setContentType("utf-8");
PrintWriter pw =response.getWriter();
pw.println(color);

结果:The selected color is: null

并不是给参数设置中文出现乱码,而是给需传递的属性命名时使用了中文,无法传递。
尝试过将html另存为utf-8,unicode,没效果。
在页面为ansi格式的时候,因为用的get方式,可以看到明文传递值是%D1%D5,将servlet改为getParameter("%D1%D5"),getParameter("D1D5")也都无效。
平时也不会用中文做传递值名,只是无意中发现这种情况,想请问下原因和处理方法。

  • 写回答

4条回答

  • 疯小 2016-03-08 06:58
    关注

    设置一下字符集,utf-8,然后获取的时候在java设置字符集试试

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料