问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

“JSP页面提交后,提交的post中文是正常的,但是到达服务器上,中文就乱码”是怎么回事?

发布网友 发布时间:2022-05-10 07:07

我来回答

2个回答

热心网友 时间:2023-11-18 17:35

有以下几种方法可以解决

1.在jsp 的java代码执行之前写入在 <% response.setContentType("text/html;charset=UTF-8")%> 一定要是之前,因为设了这个下面代码才开始生效。可以写在jsp开头。

2.在在Servlet中service方法开始部分写入  response.setContentType("text/html;charset=UTF-8") 

3.在过滤器中写入在Servlet中  response.setContentType("text/html;charset=UTF-8") 一般都写在过滤器中,可以减少代码重复量

4.对于提交已经编码的数据需要先解码再编码,也就是楼主的方法

new String(str.getBytes("ISO8859-1"),"UTF-8") 这种方法可以解决提交时候的问题,

new String(str.getBytes("UTF-8"),"ISO8859-1") 同样的道理解决已经编码的数据要显示到页面的时候就要反着写

还有就是项目中最好使用统一的编码包括:文件保存的时候使用的编码,jsp文件翻译时使用的编码,服务器响应编码,和提交编码,还有就是数据库的编码。

eclipse下:jsp和class文件保存时使用编码在文件右键的property选项中能找到,

jsp页面编码有两个<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

pageEncoding是设的是tomcat将jsp文件翻译成servlet程序的时候执行的翻译编码,而charset才是服务器响应编码 也就是servlet中的response.setCharacterEncoding 一般都设置成UTF-8;

提交数据的时候也需要你那样转码,不过转码工作却实是写在过滤器里,可以写代码的减少麻烦

提交参数时候要设置request的编码,也就是你遇到的问题,按照我前四步的说明做就可以了。

JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

热心网友 时间:2023-11-18 17:36

有以下几种方法可以解决
1.在jsp 的java代码执行之前写入在 <% response.setContentType("text/html;charset=UTF-8")%> 一定要是之前,因为设了这个下面代码才开始生效。可以写在jsp开头。
2.在在Servlet中service方法开始部分写入 response.setContentType("text/html;charset=UTF-8")
3.在过滤器中写入在Servlet中 response.setContentType("text/html;charset=UTF-8") 一般都写在过滤器中,可以减少代码重复量
4.对于提交已经编码的数据需要先解码再编码,也就是楼主的方法
new String(str.getBytes("ISO8859-1"),"UTF-8") 这种方法可以解决提交时候的问题,
new String(str.getBytes("UTF-8"),"ISO8859-1") 同样的道理解决已经编码的数据要显示到页面的时候就要反着写
还有就是项目中最好使用统一的编码包括:文件保存的时候使用的编码,jsp文件翻译时使用的编码,服务器响应编码,和提交编码,还有就是数据库的编码。
eclipse下:jsp和class文件保存时使用编码在文件右键的property选项中能找到,
jsp页面编码有两个<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
pageEncoding是设的是tomcat将jsp文件翻译成servlet程序的时候执行的翻译编码,而charset才是服务器响应编码 也就是servlet中的response.setCharacterEncoding 一般都设置成UTF-8;
提交数据的时候也需要你那样转码,不过转码工作却实是写在过滤器里,可以写代码的减少麻烦
提交参数时候要设置request的编码,也就是你遇到的问题,按照我前四步的说明做就可以了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 jsp表单中method=&quot;post&#47;get&#39;的区别?action=&quot;#&quot;,#的格式是什么? 单相电机只有一个电容是启动电容还是运行电容 电机的启动电容和运行电容j区别?能代用吗? 启动电容和运行电容的区别 微信上怎么找到删除的人 氢氧化钠泄露后,如果渗入地下,能是砂土或者粘土膨胀吗? 膨润土防水毯的膨润土膨胀指数在多才能有效防渗? 什么是混泥土膨胀剂? 貔貅的身体各个部位带表什么意思? 貔貅吊坠公母怎么区分?男女应该怎么带?佩戴公母的寓意各不一样么? 怎么判断手机触屏是否坏了? 高速公路互通与枢纽的区别 高速公路边坡绿化的主要功能是什么? 深圳外环高速公路的功能作用 国家高速公路网规划的功能布局 高速公路经济的好处 高速公路的功能和作用是什么 一级公路和高速公路有什么区别? 衡桂高速公路的功能 一级公路和高速公路有什么区别 如何从jsp通过post方式发送xml数据到servlet springmvc项目中JSP页面有一个form表单带文件上传,配置了post请求方式 ,con JSP页面中form标签里method为get时调用什么,post时调用什么? 高考数学圆锥曲线这个题用向量法为什么解不出来? 一个向量相乘和圆锥曲线的题目,详细点 什么时候该用向量? 圆锥曲线向量点乘,用双根式的话,如果是(x-m)(x-m)+(y-n)(y-n)=0,该怎么做呢? 为什么圆锥曲线我觉得总是特别难? 怎样做好圆锥曲线 全球共有几个国家,分别是什么 全世界一共有多少个国家(包括各国家名字)? 全世界总共有几个国家?各讲什么语言? 拉美共有多少个国家以及拉美的世界之最都是什么? 欧洲有几个国家??分别是什么??? 亚洲的国家有多少个?分别是什么? 借问近义词或者反义词是什么? 杜牧的清明诗一对反义词是哪两个 由一对反义词组成的二字词语有哪些? 借问酒家何处有打一一成语 少小离家老大回,这是什么朝的人,告老还乡时写的一首诗,诗中什么与什么是一对反义词。乡音的意思是