说说Java程序和数据库交互的乱码解决
本文就本人遇到的问题进行讲解
1.通过jdbc直连方式,连接Mysql数据库,从程序向数据库中写入数据出现的乱码解决方案。
当通过程序向Student表中写入一条数据时,写入数据库的内容会产生乱码。
如下图

解决方案:
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安装目录的配置文件

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

第二处:

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

最终问题解决。
2.如果是通过jdbc从mysql数据库读取数据出现乱码,但是数据库中数据本身并没有出现乱码,那么可以使用在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和数据库交互产生乱码是开发中经常遇到的棘手问题,希望这里的总结可以帮助到您。
说说Java程序和数据库交互的乱码解决的更多相关文章
- 【JDBC】Java程序的数据库初体验
JDBC是什么 JDBC是一种能够用来执行SQL语句的Java API[接口]. 它是Java提供的一种规范,让各大数据库厂商遵循此规范完成自己的数据库连接驱动[实现接口]. JDBC的入门程序(这里 ...
- .NET应用程序与数据库交互的若干问题
我们知道,在应用程序中与数据库进行交互是一个比较耗时的过程,首先应用程序需要与应用程序建立连接,然后将请求发送到数据库,数据库执行操作,然后将结果集返回.所以在程序中,要尽量晚的与数据库建立连接,并且 ...
- Java程序操作数据库SQLserver详解
数据库基本操作:增删改查(CRUD) crud介绍(增.删.改.查操作) CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Del ...
- JAVA编程心得-Eclipse/MyEclipse 中文乱码解决办法
将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同.总结网上的建议和自己的体会 ...
- MySQL数据库插入中文乱码解决方法
在mysql数据库中,插入中文数据时,会出现乱码的现象. 我的测试方法: 首先用Navicat for MySql 插入一行数据,带有中文的. 再用mysql命令行来查看插入的数据,看是否出现乱码. ...
- java程序存入数据库中文乱码解决方案
一.问题描述 背景:代码迁移,ssm框架在插入数据到mysql数据库时,中文乱码.代码中的编码配置没有问题,因为该项目代码以前使用过,没有问题.现在换了数据库,数据库配置也做了修改,统一使用utf8, ...
- java向mysql数据库插入数据显示乱码的问题
在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web工程中的web.xm ...
- PHP与SQL数据库交互中文乱码怎么办
1 PHP向数据库写入的时候发生乱码 如图所示,把校对放过去看看,是不是别的什么语言 点击修改把字符编码改为utf8_general_ci 2 PHP读取数据库到页面的时候发生乱码 如下图所示 即使在 ...
- 解决JAVA连接Sybase数据库查询数据乱码的问题
连接字符串加上charset=eucgb&jconnect_version=0例如:jdbc:sybase:Tds:server:port/database?charset=eucgb& ...
随机推荐
- Memo
1.Webpack: node_modules/css/index.js didn't return a function npm install css-loader style-loader ...
- [spring源码学习]八、IOC源码-messageSource
一.代码实例 我们在第八章可以看到,spring的context在初始化的时候,会默认调用系统中的各种约定好的bean,其中第一个bean就是id为messageSource的bean,我们了解这应该 ...
- 转: Delphi的OverRide、OverLoad和Virtual方法
http://blog.csdn.net/ckli/article/details/2201418 override 重写 也叫覆盖 .方法的重写Overriding和重载Overloading是Ja ...
- 网站开发网页广告条不显示,出现ERR_BLOCKED_BY_CLIENT
原因: 原因很简单,是因为被360浏览器的ad block给屏蔽掉了. 现象: 解决方案: 更换图片文件名,去掉ad,改成其他的字符.
- UE4 AI BehaviorTree 各个节点执行顺序总结
一个游戏DEMO的AI部分 用到行为树组件如上 主要说一下这两个组件 一个装饰(类似过滤器) 一个服务(代码逻辑与Blackboard交互) Service分为 大碰撞 和 小碰撞 两个碰撞范围, 大 ...
- [转] js对象浅拷贝和深拷贝详解
本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: var Chinese = ...
- UNP环境配置
最近在学习<UNIX网络编程>,书上将常用的头文件都放在unp.h里,需要自己编译一下代码搭建环境. UNP环境配置过程 下载源码 http://www.unpbook.com/src.h ...
- JS /JQuery 获取变量为数字时 容易出错 可能不是数字类型
Javascript内置函数,原型为parseInt ( String s , [ int radix ] ),用于解析一个字符串,并返回一个整数. var $prod_kucun=$(this).n ...
- dev winform导出功能
SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.Title = "导出Excel"; fileDialog ...
- JS键盘KEYCODE值参考
keycode 1 = 鼠标左键keycode 2 = 鼠标右键keycode 3 = Cancelkeycode 4 = 鼠标中键keycode 8 = BackSpace keycode 9 = ...