SSM框架乱码问题 求大神帮忙!!!!!!

wanglong_lalala 2018-02-11 10:56:25
小弟用ssm框架写了一个增删该查,前台post提交数据传到数据库中文就是乱码情况 ,数据库的编码和jsp的编码都是utf-8
用的是spring自带的过滤器 希望大神出手相助!!!!!!
...全文
2358 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
daojian_ 2018-04-26
  • 打赏
  • 举报
回复
在数据库连接字符串url后面加上characterEncoding=utf-8 试试
benpaodexin_l 2018-04-26
  • 打赏
  • 举报
回复
action接受的是乱码么?
qq_25531673 2018-04-23
  • 打赏
  • 举报
回复
前台数据传输到后台变成乱码,以上楼层的解决方式你可以试一下,大部分前后台编码不统一,还可以试试进行自动前天转码,后台解码 java对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent javascript中的编码与解码 javascript中可用的编码解码函数,有如下的组合: escape(string); unescape(string); encodeURI(string); decodeURI(string); encodeURIComponent(string); decodeURIComponent(string); 他们之间的区别为: escape/unescape: 以16进制编码字符串,对空格、符号等字符用%xx编码表示,对中文等字符用%uxxxx编码表示。自javascript1.5之后,此方法已经不被推荐使用。 encodeURI/decodeURI: 以UTF-8编码编码字符串,对这些字符:“ ; , / ? : @ & = + $ ”不做编码。 encodeURIComponent/decodeURIComponent: 以UTF-8编码编码所有字符串。 因为escape/unescape已经deprecated。就不说它了,encodeURI和encodeURIComponent之前的区别用实例说明: 比如说要使用get方式将一个参数u,传递给服务器: var u="index.php?blogId=1&op=Default"; var getURL="http://www.simplelife.cn/test.php?p="+encodeURI(u); 这里,如果使用了encodeURI,那么最终的getURL的值为: http://www.simplelife.cn/test.php?p=index.php?blogId=1&op=Default 这样,对参数u中的字符"&op=Default",将不会作为字符串参数传递到服务器端,而是当作test.php的参数传递过去了,因为对"&op=Default"中的字符"&"没有做编码。 所以,在这种应用场景下,就需要使用encodeURIComponent,编码后的getURL值为: http://www.simplelife.cn/test.php?p=index.php%3FblogId%3D1%26op%3DDefault 这样,参数就可以顺利传递过去了。在服务器端得到的字符串将是正确的u。 反之,如果需要通过get方式访问某一URL,但是URL中包含中文等字符,为了防止乱码等编码问题,需要将URL通过encodeURI进行编码
郭千龙 2018-04-22
  • 打赏
  • 举报
回复
<!--在web.xml中配置防止乱码的下列代码--> <!-- 解决乱码问题(触发一个框架中的过滤器) --> <filter> <filter-name>encodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
sanvnie_kaka 2018-02-12
  • 打赏
  • 举报
回复
在web后台debug调试或者打印输出看下参数是否乱码,如果这时候乱码那问题是出在前台参数传递过程,改jsp编码,tomcat编码等等,如果这时候参数正常,数据进入mysql才乱码,那问题出在数据库或者数据库连接,那更改数据库编码或者在mysql数据库连接字符串后面加编码 &useUnicode=true&characterEncoding=utf-8
懒笑翻 2018-02-12
  • 打赏
  • 举报
回复
加乱码过滤器的代码:http://blog.csdn.net/c_lanxiaofang/article/details/79314731
懒笑翻 2018-02-12
  • 打赏
  • 举报
回复
在web.xml中加一个乱码过滤器
Ren_Jianxin 2018-02-12
  • 打赏
  • 举报
回复
在数据库配置文件中url最后面添加?useUnicode=true&characterEncoding=utf8,试一下 应该会好用的
风中追风YCC 2018-02-12
  • 打赏
  • 举报
回复
页面和数据库的编码格式都是UTF-8那么你查看你的Tomcat服务器的编码有没有改成UTF-8。如果不想改服务器编码,那么可以加一个SpringMVC提供的解决POST乱码的过滤器CharacterEncodingFilter。或者你每次都手动设置编码为UTF-8。
appleyk 2018-02-11
  • 打赏
  • 举报
回复
引用 7 楼 wanglong_lalala 的回复:
为什么我写 mysql>alter database <数据库名> character set utf8; mysql>alter table <表名> character set utf8; 会报错。 alter database aa character set utf8; alter tableaa studenset utf8; [quote=引用 3 楼 Appleyk 的回复:] mysql>alter database <数据库名> character set utf8; mysql>alter table <表名> character set utf8; 你以为你是UTF-8,难道真的是你以为的吗? 动手试试,乱码不可怕,可怕的是你不知道问题出在哪了
[/quote] 不要带<>这个, alter database aa character set utf8; alter table student character set utf8;
wanglong_lalala 2018-02-11
  • 打赏
  • 举报
回复
为什么我写
mysql>alter database <数据库名> character set utf8;

mysql>alter table <表名> character set utf8; 会报错。



引用 3 楼 Appleyk 的回复:
mysql>alter database <数据库名> character set utf8;

mysql>alter table <表名> character set utf8;


你以为你是UTF-8,难道真的是你以为的吗? 动手试试,乱码不可怕,可怕的是你不知道问题出在哪了
Inhibitory 2018-02-11
  • 打赏
  • 举报
回复
乱码可能涉及到下面列表中这么多项(还不是全部),可以参考下 http://qtdebug.com/spring-web-messy-code/

appleyk 2018-02-11
  • 打赏
  • 举报
回复



appleyk 2018-02-11
  • 打赏
  • 举报
回复

appleyk 2018-02-11
  • 打赏
  • 举报
回复
mysql>alter database <数据库名> character set utf8; mysql>alter table <表名> character set utf8; 你以为你是UTF-8,难道真的是你以为的吗? 动手试试,乱码不可怕,可怕的是你不知道问题出在哪了
wanglong_lalala 2018-02-11
  • 打赏
  • 举报
回复
自己给自己顶
appleyk 2018-02-11
  • 打赏
  • 举报
回复
mysql? 控制台看一下数据库编码 http://blog.csdn.net/luoweifu/article/details/8832492
wanglong_lalala 2018-02-11
  • 打赏
  • 举报
回复
引用 12 楼 dong_19890208 的回复:
八成是tomcat的编码问题 在tomcat 的server.xml的下面这一句加上URIEncoding="UTF-8"试试 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
改过 还是乱码
wanglong_lalala 2018-02-11
  • 打赏
  • 举报
回复
引用 11 楼 sinat_31934269 的回复:
问题拆分下: 1.数据库的编码是否正确? 2.后台操作到最后要存储到数据库的时候数据是否乱码? 2.页面发送到后台的数据是否乱码? 一个一个来,多调调基本差不多。
页面发送到后台 就是乱码了.........jsp页面编码没有问题 我就找不到 问题出在哪里呢
加载更多回复(5)

67,512

社区成员

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

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