一个简单的servlet在获取表单数据后打印出现乱码问题怎么解?

pgrightwu 2020-03-29 06:16:47
遇到问题后进行过编码格式调整,重新创建一个项目,不过一直没解决

jsp页面:
servlt:
结果:

萌新求助!!!
...全文
1175 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
小白童靴 2020-04-13
  • 打赏
  • 举报
回复
request.getParameterValues(" ")要根据表单的name来获取数据,即你命名的cb
南宫廿贰 2020-04-09
  • 打赏
  • 举报
回复
设置Tomcat: -Dfile.encoding=UTF-8
liangchengfck1 2020-04-09
  • 打赏
  • 举报
回复
现在还有人用servlet吗
青衣画白扇 2020-04-01
  • 打赏
  • 举报
回复
String str = new String(mistiness.getBytes("ISO-8859-1"),"utf-8"); 这个应该可以解决 但是根本问题应该还是项目编码问题
pgrightwu 2020-04-01
  • 打赏
  • 举报
回复
我原先是tomcat7换了tomcat9之后再结合各位建议解决了
ani250 2020-03-31
  • 打赏
  • 举报
回复
Vbbgb ,图
灯火不休时 2020-03-31
  • 打赏
  • 举报
回复
引用 楼主 BRYANT ♚的回复:
遇到问题后进行过编码格式调整,重新创建一个项目,不过一直没解决

jsp页面:
servlt:
结果:

萌新求助!!!
我做过跟你类似的一个项目,我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《HTML学习——用户注册页面》, 一起来围观吧 https://blog.csdn.net/ChaoYang_183/article/details/104637628?utm_source=app 实验代码在这里了,我也记得当初搞乱码搞了好一阵子
suoyue_zhan 2020-03-31
  • 打赏
  • 举报
回复
在tomcat修改默认端口(service.xml)行加上URIEnconding=“UTF-8”,然后重启tomcat(也可能是编译器编码问题,建议也尝试设置一下,统一编码)
  • 打赏
  • 举报
回复
doget方法对中午支持不高,如果想支持中文,修改Tomcat编码为UTF-8。
家乡的落日 2020-03-31
  • 打赏
  • 举报
回复
把idea右下角编码转成gbk再转成utf-8 用filter设置全局编码格式为utf-8
luj_1768 2020-03-31
  • 打赏
  • 举报
回复
首先,这个显示不是乱码,而是一个系统输出。问题是,你的cb 是hobby[], for 循环里的hobby 怎么理解?那么多个问号,是说系统没有弄明白你到底想干什么。
qq_39936465 2020-03-30
  • 打赏
  • 举报
回复
引用 14 楼 BRYANT ♚ 的回复:
我也试过post,也会出现这样的结果,我怀疑是我servlet代码写错了,我用两个jsp写出来没问题,只要用到servlet就会这样
你基础太差了,循环内写的啥? hobby?这个是字符串数组啊, out.println("您的兴趣爱好是:"+hobby[i]);
pgrightwu 2020-03-30
  • 打赏
  • 举报
回复
引用 10 楼 qq_39936465的回复:
get不支持非西欧字符,要获取get中的中文字符需要用 java.net.URLDecoder类来转换。所以中文一般都用post
我也试过post,也会出现这样的结果,我怀疑是我servlet代码写错了,我用两个jsp写出来没问题,只要用到servlet就会这样
pgrightwu 2020-03-30
  • 打赏
  • 举报
回复
引用 12 楼 不太自律的程序猿的回复:
设置编码 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8");
啊哈,你这个我已经用过了,对这个无效
  • 打赏
  • 举报
回复
设置编码 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8");
dkwuxiang 2020-03-30
  • 打赏
  • 举报
回复
out 直接输出一个数组吗? 不应该是每次对应下标的string吗?
qq_39936465 2020-03-30
  • 打赏
  • 举报
回复
get不支持非西欧字符,要获取get中的中文字符需要用 java.net.URLDecoder类来转换。所以中文一般都用post
qq_39936465 2020-03-30
  • 打赏
  • 举报
回复
引用 8 楼 BRYANT ♚ 的回复:
谢谢,我试过了这里确实有错,但是改了还是乱码,不是代码问题,是编码格式问题,跟着csdn教程改现在连控制台都是乱码
建议用post不要用get,get好像不支持中文。
pgrightwu 2020-03-30
  • 打赏
  • 举报
回复
引用 7 楼 qq_39936465的回复:
[quote=引用 楼主 BRYANT ♚ 的回复:] 遇到问题后进行过编码格式调整,重新创建一个项目,不过一直没解决 萌新求助!!!
你checkbox的name是cb ,你获取的却是hobby,不出错才怪。[/quote] 谢谢,我试过了这里确实有错,但是改了还是乱码,不是代码问题,是编码格式问题,跟着csdn教程改现在连控制台都是乱码
qq_39936465 2020-03-30
  • 打赏
  • 举报
回复
引用 楼主 BRYANT ♚ 的回复:
遇到问题后进行过编码格式调整,重新创建一个项目,不过一直没解决 萌新求助!!!
你checkbox的name是cb ,你获取的却是hobby,不出错才怪。
加载更多回复(10)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧