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

目录
  • 1、前台乱码的问题
  • 2、前台先后台插入数据后台接收到的数据是乱码
  • 3、后台向数据库插入数据是乱码
  • 附: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插入数据显示乱码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java向数据库插入中文出现乱码解决方案

    主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是latin1 mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +-------------------

  • java向mysql插入数据乱码问题的解决方法

    遇到java向mysql插入数据乱码问题,如何解决? MySQL默认编码是latin1 mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +--------------------------+--------------------------+ | character_set_client | la

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

    目录 1.前台乱码的问题 2.前台先后台插入数据后台接收到的数据是乱码 3.后台向数据库插入数据是乱码 附:Java向数据库插入中文出现乱码的问题 总结 在开发的过程中我们经常能遇到乱码的问题,这个出现这个问题的可能性非常的多,对于开发人员来说乱码的问题又不得不去,本文就着出现乱码的情况对其的解决的方法进行了总结,希望能够对于大家有用. 1.前台乱码的问题 检查前台页面上的charset的字符集是否是utf-8 然后再查看后台项目的编码集是否是一致的 右击项目-->选择Properties-->

  • 解决pl/sql developer中数据库插入数据乱码问题(SSM项目开发)

    最近学习SSM项目开发,用到oracle数据库,使用管理软件PL/sql developer往数据库表中插入数据时记录乱码. 结果如下: 可以看到中文数据都乱码成了???????问号, 看了网上各位大佬的解决办法,说是由于oracle服务器端字符编码 和 Oracle 客户端字符编码不一致引起的. (但是我的oracle服务器端 和 Oracle 客户端字符编码是一样的,这就很纳闷了,但同样用了以下解决办法,搞定!!!) 第一步: 登录PL/sql developer,检查Oracle服务器端字

  • java处理数据库不支持的emoji表情符问题解决

    一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法: 1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效; 2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类: import java.util.regex.Matcher; import java.util.regex.Pattern; publ

  • 在CMD中操作mysql数据库出现中文乱码解决方案

    百度了一下..有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 . 其实,只要保证cmd客户端和MySQL两者编码一致即可. 但现实是cmd默认的是gbk(cmd属性可以看到中文操作系统下面是gbk编码),而mySQL一般是utf8(我的也是),之前一直进入误区,想要更改cmd的字符编码,可是并不能行得通.网友中提到在mysql中关于客户端编码问题,只需在cmd里告诉mysql服务器我客户端这边编码和想要的结果集编码即可.

  • 解决Mysql数据库插入数据出现问号(?)的解决办法

    首先,我用的mysql数据库是5.7.12版本. 出现的问题: 1.插入数据显示错误,插入不成功,出现:Incorrect string value: '\xCD\xF5\xD5\xBC\xBE\xA9' for column 'Sname' at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件中的 [mysqld] 中加入 #character-set-server=utf8 如图所示,必须在蓝圈的上方,就是说,蓝圈内的内容必须在[mysqld]的最下面

  • java实现oracle插入当前时间的方法

    本文实例讲述了java实现oracle插入当前时间的方法.分享给大家供大家参考.具体分析如下: 我在做一个inser操作的时候 要获取当前时间 存入数据库 就直接 ps.setDate(new java.util.Date()); 但是会报转换错误 此时应该 java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); ps.setDat

  • Java Web实现文件下载和乱码处理方法

    文件上传和下载是web开发中常遇到的问题,这几天在做一个项目又用到了文件下载,之前也零零散散记了些笔记,今天来做一下整理.文件上传还有待进一步测试,这里先说一下文件下载. 一.文件下载处理流程 文件下载处理流程其实很清晰,即: 1.根据文件名或者文件路径定位文件,具体的策略主要根据自己的需求,总之需要系统能找到的文件全路径. 2.获取输入流,从目标文件获取输入流. 3.获取输出流,从response中获取输出流. 4.从输入流读入文件,通过输出流输出文件.这是真正的下载执行过程. 5.关闭IO流

  • Idea连接MySQL数据库出现中文乱码的问题

    问题:当使用JDBC连接MySQL数据库时,插入中文显示乱码 解决方法:在连接代码中插入以下代码 String url = "jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false"; 代码解读 useUnicode=true&characterEncoding=utf8 以上代码有两个作用: 1.存

随机推荐