博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈怎么解决Java程序和数据库交互出现乱码的问题
阅读量:6123 次
发布时间:2019-06-21

本文共 1254 字,大约阅读时间需要 4 分钟。

hot3.png

       JAVA程序与数据库交互时经常会碰到出现乱码的问题,由于遇见太多次,每每都让我头疼无比,怎么解决这些问题呢,结合本人在开发当中遇上的实际问题来跟大家说说该怎么解决这个问题。

1.通过jdbc直连方式,连接Mysql数据库,从程序向数据库中写入数据出现的乱码解决方案。

  当通过程序向Student表中写入一条数据时,写入数据库的内容会产生乱码。

211956_CCuc_2367675.jpg

解决方案:

  1。创建数据库的时候:

                            CREATE   DATABASE   `Db` 

                               CHARACTER   SET   'utf8 ' 
                               COLLATE   'utf8_general_ci '; 

2.建表的时候:      

                            CREATE   TABLE   `TableA`   ( 

                                    `ID`   varchar(40)   NOT   NULL   default   ' ', 
                                     `UserID`   varchar(40)   NOT   NULL   default   ' ',  ) 
                                      ENGINE=InnoDB   DEFAULT   CHARSET=utf8; 

但是本人感觉关系不是很大,不过可以作为一种尝试手段。

 3.该方案行之有效,就是修改Mysql安装目录的配置文件

212049_J7bV_2367675.jpg

需要修改my.ini中两个位置的编码,

第一处

212226_zs6O_2367675.jpg

第二处:

212258_Zzaw_2367675.jpg

设置后,通过命令重启服务

212335_pOfU_2367675.jpg

最终问题解决。

2.如果是通过jdbcmysql数据库读取数据出现乱码,但是数据库中数据本身并没有出现乱码,那么可以使用在url中加参数的解决方案。

Url写法如下:

jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=UTF-8 

 

3.如果将url中的localhost换成IP地址,出现如下问题:

报错:1130-host ... is not allowed to connect to this MySql server

解决方法:

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

刷新授权 ,该行代码必须有。。FLUSH   PRIVILEGES;

 

4.JDBC-ODBC桥连方式从数据库中读取数据出现乱码解决方案

不要直接读取,可以使用如下方式转换读取,问题解决

String stuname=new String(rs.getBytes(2),"utf-16le");

结语:JDBC和数据库交互产生乱码是开发中经常遇到的棘手问题,希望这里的总结可以帮助到您。

 

PS:JAVA交流群:457036818

转载于:https://my.oschina.net/u/2367675/blog/419832

你可能感兴趣的文章
构建Logstash+tomcat镜像(让logstash收集tomcat日志)
查看>>
zabbix
查看>>
dll的使用
查看>>
通过show status 来优化MySQL数据库
查看>>
微信小程序服务范围重大更新
查看>>
web.xml配置DispatcherServlet (***-servlert.xml)
查看>>
微信小程序排行榜
查看>>
在windows上部署使用Redis
查看>>
如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源
查看>>
ADO.NET对象模型
查看>>
hadoop集群之HDFS和YARN启动和停止命令
查看>>
重温web服务器--细说Tomcat服务器
查看>>
常用键盘快捷键
查看>>
shell不排序去重
查看>>
【 Android Manifest 权限描述大全 】
查看>>
springmvc-servlet.xml中use-default-filters的作用
查看>>
浏览器数据库IndexedDB介绍
查看>>
CSS简介
查看>>
Robots.txt 不让搜索引擎收录网站的方法
查看>>
[转]在ASP.NET Core使用Middleware模拟Custom Error Page功能
查看>>