又遇到乱码问题,这个编码问题有时候真是让人头大。找了半天都找不出来哪里出了问题,页面和数据库均是使用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开发跟编码打交道的时间真多,有时候稍不注意就弄出乱码了。

向数据库插入中文乱码相关推荐

  1. 关于数据库插入中文乱码问题

    关于数据库插入中文乱码问题 第一步:到数据库my.ini中查看字符集设置 需要将下的默认编码 default-character-set=utf8 改为 default-character-set=g ...

  2. python向数据库插入中文乱码问题

    碰到编码问题就头疼啊!.... 在想数据库中插入中文时候,会出现如下错误提示:Warning: Incorrect string value: '\xE5\x8C\x97\xE4\xBA\xAC... ...

  3. mybatis mysql 中文乱码_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  4. 数据库中文mybatis连接mysql数据库插入中文乱码

    文章结束给大家来个程序员笑话:[M] 对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目 ...

  5. mysql 中文乱码 mybatis_mybatis连接mysql数据库插入中文乱码

    对于mysql数据库的乱码问题,有两中情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,建库的时候,选择UTF-8字符集.我试过 ...

  6. java mysql插入数据乱码_java向mysql数据库插入数据显示乱码的问题

    在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码"???"的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web ...

  7. hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决

    因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...

  8. PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。 检查Oracle服务器端字符编码,用 sel

    PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的. 检查Oracle服务器端字符编码,用 select ...

  9. #Tomcat# 本地正常但是部署到服务器后,mysql插入中文乱码问题解决!

    一百度,几乎都是大同小异的答案,全都是互相转载的文章.帮助很小 如果你遇到了**Tomcat本地正常!但是部署到服务器后,mysql插入中文乱码问题解决!**这样的问题. 常规的方式都无效,不妨试试下 ...

最新文章

  1. 数据到入到excel和打印功能
  2. Altium designer原理图导入word文档模糊——终极解决办法
  3. 使用Brighter实现轻量型独立管道
  4. [蓝桥杯2018决赛]迷宫与陷阱
  5. AUTOSAR从入门到精通100讲(三十一)-AutoSar中RTE的生成准备
  6. 【转】Azure云存储及存储账户概述***
  7. MySQL 创建触发器
  8. 转发-[原创]ASR1K 在Rommon导入IOS-XE启动
  9. C语言学生成绩管理程序(可排队序统计)
  10. sql limit 子句_SQL Server TOP子句概述和示例
  11. Google Guava之--cache
  12. 基于摄像头循迹的电子设计竞赛论文
  13. java lbp_LBP特征提取原理及代码实现
  14. 安装一台RHEL7虚拟机
  15. 软件构造过程与配置管理
  16. OMNeT++理论算法仿真详述
  17. asp.net mvc 图片裁剪上传
  18. ACM退役帖(青岛赛后再更新)
  19. Excel如何删除指定区域中重复值只保留一个
  20. 微信小程序实现缓存过期时间

热门文章

  1. NFS==network file system
  2. UVA 12299 RMQ with Shifts 线段树
  3. JVM和GC知识点整理
  4. 存储网络与存储系统架构分析
  5. centos7安装kubernetes 1.1
  6. java string常见操作题
  7. 我的MYSQL学习心得(三) 查看字段长度
  8. 深度解析~iOS应用程序~生命周期
  9. Linux程序设计之套接字: 循环服务 并发服务
  10. 如何去掉自动弹出IE9介绍页