向数据库插入中文乱码
又遇到乱码问题,这个编码问题有时候真是让人头大。找了半天都找不出来哪里出了问题,页面和数据库均是使用utf8编码,但是还是出现了乱码。直接在命令行下向数据库插入中文数据时不会出现乱码,在程序中使用代码插入时会出现乱码,控制台中打印出来数据没有乱码,没搞清楚哪里出了问题。通过查找资料最终将乱码问题解决,但是还有些不明白问题出在哪里。
通过在数据库连接url中加入?useUnicode=true&characterEncoding=UTF-8解决问题:
applicationContext.xml
<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url"value="jdbc:mysql://localhost:3306/cms?useUnicode=true&characterEncoding=UTF-8" /><property name="username" value="root" /><property name="password" value="" /></bean>
我的处理编码的filter:
public class EncodingFilter implements Filter {private FilterConfig config;private String charset = "UTF-8";public void init(FilterConfig filterconfig) throws ServletException {config = filterconfig;String s = config.getInitParameter("encoding");if (s != null) {charset = s;}}public void destroy() {config = null;}public void doFilter(ServletRequest servletrequest,ServletResponse servletresponse, FilterChain filterchain)throws IOException, ServletException {servletrequest.setCharacterEncoding(charset);servletresponse.setCharacterEncoding(charset);filterchain.doFilter(servletrequest,servletresponse);}}
经测试filter确实被执行了。
数据库是使用utf8编码:
jsp页面和所有Java文件都是使用的utf8编码。
没看出问题具体出现在哪一点,目前有点赶时间,先把问题解决了,有时间的好好研究一下这个编码问题。遇到很多次了,还不能小看这个编码问题。上次在程序中使用utf8编码的url地址访问windows服务器上的资源文件,出现404,改用gbk就能够访问了。还有一次发现页面在低版本chrome下出现部分css失效的问题,但是在ie和高版本的chrome中又没问题,当时还以为是css兼容性问题,后来发现失效的部分正是css文件中出现中文注释之后的样式,将中文注释去掉,则能够正常显示了。将css文件编码改为和页面编码相同(utf8)问题就解决了。还有页面之间中文参数传递时的编码和解码问题,搞web开发跟编码打交道的时间真多,有时候稍不注意就弄出乱码了。
向数据库插入中文乱码相关推荐
- 关于数据库插入中文乱码问题
关于数据库插入中文乱码问题 第一步:到数据库my.ini中查看字符集设置 需要将下的默认编码 default-character-set=utf8 改为 default-character-set=g ...
- python向数据库插入中文乱码问题
碰到编码问题就头疼啊!.... 在想数据库中插入中文时候,会出现如下错误提示:Warning: Incorrect string value: '\xE5\x8C\x97\xE4\xBA\xAC... ...
- mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码
对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...
- 数据库中文mybatis连接mysql数据库插入中文乱码
文章结束给大家来个程序员笑话:[M] 对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目 ...
- mysql 中文乱码 mybatis_mybatis连接mysql数据库插入中文乱码
对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,建库的时候,选择UTF-8字符集.我试过 ...
- java mysql插入数据乱码_java向mysql数据库插入数据显示乱码的问题
在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码"???"的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web ...
- hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决
因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...
- PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。 检查Oracle服务器端字符编码,用 sel
PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的. 检查Oracle服务器端字符编码,用 select ...
- #Tomcat# 本地正常但是部署到服务器后,mysql插入中文乱码问题解决!
一百度,几乎都是大同小异的答案,全都是互相转载的文章.帮助很小 如果你遇到了**Tomcat本地正常!但是部署到服务器后,mysql插入中文乱码问题解决!**这样的问题. 常规的方式都无效,不妨试试下 ...
最新文章
- 数据到入到excel和打印功能
- Altium designer原理图导入word文档模糊——终极解决办法
- 使用Brighter实现轻量型独立管道
- [蓝桥杯2018决赛]迷宫与陷阱
- AUTOSAR从入门到精通100讲(三十一)-AutoSar中RTE的生成准备
- 【转】Azure云存储及存储账户概述***
- MySQL 创建触发器
- 转发-[原创]ASR1K 在Rommon导入IOS-XE启动
- C语言学生成绩管理程序(可排队序统计)
- sql limit 子句_SQL Server TOP子句概述和示例
- Google Guava之--cache
- 基于摄像头循迹的电子设计竞赛论文
- java lbp_LBP特征提取原理及代码实现
- 安装一台RHEL7虚拟机
- 软件构造过程与配置管理
- OMNeT++理论算法仿真详述
- asp.net mvc 图片裁剪上传
- ACM退役帖(青岛赛后再更新)
- Excel如何删除指定区域中重复值只保留一个
- 微信小程序实现缓存过期时间