mysql java sql 乱码问题_Java里的中文添加到mysql里变成乱码。

Stringsql="insertintoemp(ename,job,hiredate)values('"+ename+"','"+job+"','"+hiredate+"')";//SQL语句是这个insertintoemp(ename,job,hiredate)values('王跃青','助理','2001-09-...

String sql = "insert into emp(ename,job,hiredate) values('" + ename+ "','" + job + "','" + hiredate + "')";

//SQL语句是这个insert into emp(ename,job,hiredate) values('王跃青','助理','2001-09-19')

System.out.println(sql.getBytes(Charset.forName("GBK")).length);

//72

System.out.println(sql.getBytes(Charset.forName("UTF-8")).length);

//77

System.out.println(sql.getBytes().length);

//72 和GBK的长度一样应该是GBK编码没有错。

System.out.println(sql);

s.executeUpdate(sql);

-------------------------------------------------------------------------------------

接下来是表。

CREATE TABLE `NewTable` (

`empno` smallint(4) NOT NULL AUTO_INCREMENT ,

`ename` varchar(10) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL ,

`job` varchar(8) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL ,

`hiredate` date NULL DEFAULT NULL ,

PRIMARY KEY (`empno`)

)

ENGINE=InnoDB

DEFAULT CHARACTER SET=gbk COLLATE=gbk_chinese_ci

AUTO_INCREMENT=1082

ROW_FORMAT=COMPACT;

为什么输入进去是乱码。

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值