关于jsp页面添加中文出现乱码的问题……

1.本人用hibernate+struts2框架搭建,tomcat服务器,用的是java编码
2.jsp页面首行添加:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
3.mysql数据库,字符集设置为utf8
4.浏览器编码也修改为utf8
5.当执行查看操作时,数据库中的中文可以完美显示,当执行添加操作时,输入的中文变成了乱码(网页显示和数据库中的数据均变为乱码)
6.当我尝试着在后台直接以汉字的形式直接添加中文时,完美显示在页面和数据库表格中
7.我猜想应该是页面输入这个操作中出现了问题,但是不知道怎么改正这个错误,如上字符集均已改为utf8乐啊,求大神指点,或者粘贴可以解决这一问题的视频、教程之类的,必有高分相赠!!!急求

简单来说,乱码只是发生在你从页面获取汉字时发生的。
你可以尝试下,在java代码中获取到前台jsp页面提交的form,你断点先看看form里面对应你添加汉字的结果是不是已经是乱码了。
如果是的话,解决方法(以下代码仅作参考,可以自己调)
1、你自己手动再转一下,然后再传到后台数据库中就ok了,类似这样
String s = (String)request.getParameter("txt").getBytes("UTF-8");
2、在struts.xml中添加<constant name="struts.i18n.encoding" value="UTF-8"/>
3、通过filter方式解决。在web.xml中,注意filter的前后顺序
<filter>

<filter-name>SetCharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
4、还有一种可能是如果用tomcat5.5出乱码而tomcat6没有出现乱码的话,这边就涉及到tomcate connector字符的设置了。
<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-01-03

解压文件出现中文乱码怎么办解决办法

华为Mate50 Pro曲面旗舰手机

¥6799

苹果 AirPods Pro 2代

¥1699

索尼65英寸4K HDR专业游戏电视

¥7499

惠普战66五代15.6英寸轻薄本

¥4399

相似回答