knrt.net
当前位置:首页 >> JDBC向MYSQL插入数据后,查询中文数据为乱码 >>

JDBC向MYSQL插入数据后,查询中文数据为乱码

注意一下几点:(1)jdbc区中驱动连接中的,jdbc:mysql://localhost:3306/myjava?characterEncoding=utf-8(2)数据库编码(3)数据库中对应表的编码(4)编辑器的编码一致上述四个方面必须一致才可以.

这个问题我也刚遇到过.应该是mysql安装的问题,你可以重新安装mysql试一下.安装的时候得注意选项.不要选择标准安装,一直点击next直到完成.应该在开始的时候选择自定义安装,在选择字符集的时候点击下拉菜单选择gb2312这一项,应该能够解决中文乱码问题.

你那个 URL 里面, 包含 utf8 没有?DriverManager.getConnection("jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncoding=utf8", "root", "");

遇到汉字先做转码,然后再插入选择,你数据库的编码类型的,如下例子有用System.out.println("中文");//1 System.out.println("中文".getBytes());//2 System.out.println("中文".getBytes("GB2312"));//3 System.out.println

这个问题通常与各个JDBC driver的实现有关. 目前大多数JDBC driver采用本地编码格式来传输中文字符,例如中文字符"0x4175"会被转成"0x41"和"0x75"进行传输. 因此我们需要对JDBC driver返回的字符以及要发给JDBC driver的字符进

确保你的java文件也是utf8编码,然后你的mysql设置也是utf8编码

你应该是安装mysql的时候编码你是选择默认的吧.你可以找到mysql的安装目录MySQL Server 5.0\bin\MySQLInstanceConfig.exe重新配置下就可以了.一般选择utf-8编码.再一个如果数据库开始就建立好了.alter database 表名 character set utf8;连接数据库设置编码jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

你用数据库的软件,比如navacat看看,是不是你建表的时候,不是用utf-8的编码

将jdbc的url改为jdbc\:mysql\://服务器ip\:端口/数据库名称?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true,这样就可以解决乱码问题了

需要看你mysql中字符编码和读取时候的编码.mysql中默认是拉丁编码,可以使用UTF-8读取和插入.如果使用gbk或者gb2312是可能存在问题的

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com