java向mysql插入数据乱码问题解决
2013-04-12 16:50
513 查看
MySQL默认编码是latin1
?
编写程序(Java)
?
我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改MySQL的默认编码,编辑my.ini(MySQL配置文件)文件对编码进行修改
设置MySQL的默认字符集为utf8,找到客户端配置[client]在下面添加。
default-character-set=utf8
找到服务器配置[mysqld]在下面添加
default-character-set=utf8
设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码
停止和重新启动MySQL
net stop mysql
net start mysql
重新连接数据库,查看编码,数据表内容
?
看回数据库的显示,我们会很奇怪的发现为什么显示的都是乱码,这主要是和windows下命令行的编码有关,在命令行上查看属性->选项的当前代码页:936 (ANSI/OEM - 简体中文 GBK)(本人机子上是这样显示的)
也就是说命令行上使用的是GBK编码,而我们是在程序连接时使用utf8进行添加的,所以会出现有乱码,现在我们将客户端的编码改成gb2312或gbk试一下
?
现在可以看到中文正常显示了(主要是因为utf8也支持中文),所以当我们使用命令行工具连接数据库的时候最好将客户端的编码改一下,如果使用GUI的话就不必了,同时修改客户端的编码之后程序依然能够正常显示(以上两点已经测试)
所以如果在程序中要显示中文的话我们可以选用utf8,gb2312,gbk这三种编码,但是如果想在命令行添加中文数据或者查看的话就需要将客户端的编码设置为gb2312或gbk了,还是那句,CMD的编码有关
?
我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改MySQL的默认编码,编辑my.ini(MySQL配置文件)文件对编码进行修改
设置MySQL的默认字符集为utf8,找到客户端配置[client]在下面添加。
default-character-set=utf8
找到服务器配置[mysqld]在下面添加
default-character-set=utf8
设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码
停止和重新启动MySQL
net stop mysql
net start mysql
重新连接数据库,查看编码,数据表内容
?
看回数据库的显示,我们会很奇怪的发现为什么显示的都是乱码,这主要是和windows下命令行的编码有关,在命令行上查看属性->选项的当前代码页:936 (ANSI/OEM - 简体中文 GBK)(本人机子上是这样显示的)
也就是说命令行上使用的是GBK编码,而我们是在程序连接时使用utf8进行添加的,所以会出现有乱码,现在我们将客户端的编码改成gb2312或gbk试一下
?
所以如果在程序中要显示中文的话我们可以选用utf8,gb2312,gbk这三种编码,但是如果想在命令行添加中文数据或者查看的话就需要将客户端的编码设置为gb2312或gbk了,还是那句,CMD的编码有关
相关文章推荐
- Java在mysql插入数据的时候的乱码问题解决
- java向mysql插入数据乱码问题的解决方法
- java向mysql插入数据乱码问题解决
- eclipse插入数据到mysql中的乱码问题解决
- JSP之 MySQL 插入数据时,中文乱码问题的解决
- MySQL 插入数据时,中文乱码问题的解决
- Mysql插入数据的时候,中文乱码问题的解决
- 解决 通过JDBC向MySQL插入数据的中文乱码 问题
- mysql中插入表数据中文乱码问题的解决方法
- MySQL 插入数据时,中文乱码问题的解决
- 解决mysql无法插入中文数据及插入后显示乱码的问题【亲测 图文解说!】
- MySQL 插入数据时,中文乱码问题的解决
- MySQL 插入数据时,中文乱码问题的解决
- MySQL 在控制台插入数据时,中文乱码问题的解决
- JSP之 MySQL 插入数据时,中文乱码问题的解决
- 解决mysql无法插入中文数据及插入后显示乱码的问题
- MySQL 插入数据时,中文乱码问题的解决
- MySQL 插入数据时,中文乱码问题的解决
- MySQL 插入数据时,中文乱码问题的解决
- MySQL 插入数据时,中文乱码问题的解决