java向数据库插入数据显示乱码的几种问题解决

 更新时间:2021年11月30日 09:53:52   作者:你说是风就是风  
这篇文章主要给大家介绍了关于java向数据库插入数据显示乱码问题的解决方案,文章分别罗列了前台乱码的问题、前台先后台插入数据后台接收到的数据是乱码以及后台向数据库插入数据是乱码等几种情况,需要的朋友可以参考下

在开发的过程中我们经常能遇到乱码的问题,这个出现这个问题的可能性非常的多,对于开发人员来说乱码的问题又不得不去,本文就着出现乱码的情况对其的解决的方法进行了总结,希望能够对于大家有用。

1、前台乱码的问题

检查前台页面上的charset的字符集是否是utf-8

然后再查看后台项目的编码集是否是一致的

右击项目-->选择Properties-->然后查看一下Text file encoding 下的编码格式是否为utf-8,如果不是就把他改为utf-8即可

 

2、前台先后台插入数据后台接收到的数据是乱码

第一步:我们可以先查看一下tomcat的conf文件夹下的server.xml文件中的Connector是否是utf-8,如果不是就添加 URIEncoding="UTF-8",设置tomcat的编码格式为utf-8

如果tomcat上修改编码格式的方式还不行,那么第二步:我们可以去修改web.xml配置文件,因为前台向后台传输数据都需要经过web.xml配置文件。

具体代码如下:

< servlet >
  < servlet-name >Encodeing</ servlet-name >
  < servlet-class >cn.hncu.com.encode.Encodeing</ servlet-class >
  < init-param >
  < param-name >charset</ param-name >
  < param-value >utf-8</ param-value >
  </ init-param >
  </ servlet >

3、后台向数据库插入数据是乱码

后台向数据库插入的数据是乱码,那么大部分是项目和数据库的编码格式不服,前面已经设置了项目的编码格式为utf-8,那么接下来我们就要检查数据库的编码格式具体步骤如下:

测试一下乱码的问题是否解决,如果还不行则还可以检查数据库的设置,在mysql安装目录的my.ini中应该有如下的配置(没有可以手动添加):

[mysql]
character_set_server=utf8 
init_connect='SET NAMES utf8'

最后还可以试下修改数据库连接,使用以下方式指定编码:

jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8

运用这些方法解决了我的传值问题,相信对你也有用。

附:Java向数据库插入中文出现乱码的问题

主要解决方向,JAVA与MYSQL中编码要统一。通常采用UTF-8.

这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的。

1.查询自身MYSQL编码方式

MySQL默认编码是latin1

mysql> show variables like 'character%';

+--------------------------+--------------------------+

| Variable_name | Value |

+--------------------------+--------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | D:\MySQL\share\charsets\ |

+--------------------------+--------------------------+

2.若项目用UTF8编码,则将MYSQL也改为UTF8编码。通过修改my.ini文件。添加如下几项,再重启MYSQL服务就好。

[mysql]

default-character-set = utf8

[mysql.server]

default-character-set = utf8

[mysqld_safe]

default-character-set = utf8

[client]

default-character-set = utf8

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

总结

到此这篇关于java向数据库插入数据显示乱码问题解决的文章就介绍到这了,更多相关java插入数据显示乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java通过MySQL驱动拦截器实现执行sql耗时计算

    java通过MySQL驱动拦截器实现执行sql耗时计算

    本文主要介绍了java通过MySQL驱动拦截器实现执行sql耗时计算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 轻轻松松吃透Java并发fork/join框架

    轻轻松松吃透Java并发fork/join框架

    fork/join是一个工具框架 ,本文详细的介绍了fork/join框架的具体使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 带你用Java方法轻松实现树的同构

    带你用Java方法轻松实现树的同构

    给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树
    2021-06-06
  • spring @EventListener 事件与监听的示例详解

    spring @EventListener 事件与监听的示例详解

    本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序执行和异步处理机制,感兴趣的朋友一起看看吧
    2025-03-03
  • 详细分析JAVA 线程池

    详细分析JAVA 线程池

    这篇文章主要介绍了JAVA 线程池的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • Java数据存储的“双子星”对决(Map和Set的区别)

    Java数据存储的“双子星”对决(Map和Set的区别)

    文章主要介绍了Java中Map和Set两种数据结构的定义、实现、方法及应用场景,Map用于存储键值对,键唯一,值可重复;Set用于存储唯一元素,无序,两者都提供了丰富的操作方法,如添加、删除、查找等,感兴趣的朋友一起看看吧
    2025-02-02
  • Java中TimedCache缓存对象的详细使用教程

    Java中TimedCache缓存对象的详细使用教程

    TimedCache是一个泛型类,它的主要作用通常是在一定时间范围内对特定键值对进行缓存,并且能够根据设定的时间策略来自动清理过期的缓存项,本文给大家介绍了Java中TimedCache缓存对象的详细使用教程,需要的朋友可以参考下
    2024-12-12
  • springboot 如何修改默认端口及application.properties常用配置

    springboot 如何修改默认端口及application.properties常用配置

    这篇文章主要介绍了springboot 如何修改默认端口及application.properties常用配置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java反转字符串和相关字符编码的问题解决

    Java反转字符串和相关字符编码的问题解决

    反转字符串一直被当作是简单问题,大家的思想主要就是利用遍历,首尾交换字符实现字符串的反转。例如下面的代码,就可以简单实现反转。
    2013-05-05
  • WebService的相关概念

    WebService的相关概念

    这篇文章主要介绍了WebService的相关概念的相关资料,需要的朋友可以参考下
    2017-10-10

最新评论