关于jsp页面添加中文出现乱码的问题……
1.本人用hibernate+struts2框架搭建,tomcat服务器,用的是java编码2.jsp页面首行添加:<%@pagelanguage="java"impor...
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乐啊,求大神指点,或者粘贴可以解决这一问题的视频、教程之类的,必有高分相赠!!!急求 展开
2.jsp页面首行添加:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
3.mysql数据库,字符集设置为utf8
4.浏览器编码也修改为utf8
5.当执行查看操作时,数据库中的中文可以完美显示,当执行添加操作时,输入的中文变成了乱码(网页显示和数据库中的数据均变为乱码)
6.当我尝试着在后台直接以汉字的形式直接添加中文时,完美显示在页面和数据库表格中
7.我猜想应该是页面输入这个操作中出现了问题,但是不知道怎么改正这个错误,如上字符集均已改为utf8乐啊,求大神指点,或者粘贴可以解决这一问题的视频、教程之类的,必有高分相赠!!!急求 展开
2个回答
展开全部
简单来说,乱码只是发生在你从页面获取汉字时发生的。
你可以尝试下,在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" />
你可以尝试下,在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" />
来自:求助得到的回答
优质机构答主
2021-01-03 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |