一。数据库安装时设定的字符集编码是utf8
1.当前的字符集编码是:
Server characterset: utf8
Db characterset: utf8
Client characterset: Latin1
Conn. characterset: Latin1
(1)下创建数据库
插入中文数据时,能够执行操作,但是显示的是乱码
(2)修改字符集编码,变成:
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
插入中文数据时,能够执行操作,且数据显示正常
(3)修改字符集编码,变成:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
插入中文数据,操作不能执行,报错如:IIncorrect string value :'\xB9\xA4\Xbe\XDF'for colunmn'sort_name'at row 1
二。安装数据库时是Latin1
1.当前字符集编码:
Server characterset: Latin1
Db characterset: Latin1
Client characterset: Latin1
Conn. characterset: Latin1
(1)下创建数据库
插入中文数据时,能够执行操作,但是显示的是乱码
(2)修改字符集编码为utf8
Server characterset: Latin1
Db characterset: Latin1
Client characterset: utf8
Conn. characterset: utf8
插入中文数据,操作不能执行
(3)修改字符集编码为gbk
Server characterset: Latin1
Db characterset: Latin1
Client characterset: gbk
Conn. characterset: gbk
插入中文数据,操作不能执行
(4)在安装数据库时设定字符集编码为utf8,并把当前数据库的字符集编码也设为utf8
1)当前字符集编码为utf8:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
插入中文数据,操作不能执行
2)当前字符集编码为gbk:
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
插入中文数据,操作不能执行
3)当前字符集编码为Latin1:
Server characterset: utf8
Db characterset: utf8
Client characterset: Latin1
Conn. characterset: Latin1
插入中文数据时,能够执行操作,但是显示的是乱码
结论:当在安装mysql数据库时设定的字符集编码是Latin1,不支持中文,在这样的环境下创建的数据库,无论怎样修改字符集都不能正常插入中文数据。并且当把数据库移到安装数据库时就设定的字符集是utf8的数据库环境下,设置字符集为utf8或则gbk时,插入中文数据,操作直接就不能执行。
所以,想在数据库中插入中文数据,安装数据库时就必须设定字符集是支持中文的。
三。在安装数据库时就设定字符集编码为utf8的环境下
1.当前字符集编码为:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
下创建数据库
(1)插入中文数据,操作不能成功
(2)修改字符集编码为:
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
插入中文数据,显示正常
(3)安装数据库时就设定字符集编码为gbk
1)当前字符集编码
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
插入中文数据,操作正常,显示正常
2)当前字符集编码为utf8
Server characterset: gbk
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
插入中文数据,操作不能执行
四。在安装数据库时就设定字符集编码为gbk的环境下
1.当前 字符集编码是:
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
下创建数据
(1) 插入中文数据,操作能执行,并能正常显示
(2) 当前字符集编码为utf8
Server characterset: gbk
Db characterset: gbk
Client characterset: utf8
Conn. characterset: utf8
插入中文数据,操作不能执行
结论:要想能向数据库正常插入中文,必须满足以下条件:
<!--[if !supportLists]-->(1) <!--[endif]-->安装数据库时,要把字符集设定为能支持中文的gbk或则utf8
<!--[if !supportLists]-->(2) <!--[endif]-->把数据库的Client
Characterset和Conn. Characterset的字符集都设定为gbk
其中,设定字符集编码的指令为:set
names ‘charactername’
查看字符集编码的指令为:status
至于为什么吗要这样做,我也讲不出原因!
按理说,只要character_set_client、character_set_results、character_set_connection的编码字符集的设置一样就行了,可为什么用SET NAMES 'charset_name'把他们设置为utf8就不能插入中文,而设置为gbk就能插入中文?
对于这个问题,我实在 搞不清楚,得去查些资料才行!
分享到:
相关推荐
linux下设置mysql字符集为UTF-8以及mysql重启
mysql-8-0-12版本数据库连接驱动,mysql-8-0-12版本数据库连接驱动
mysql-connector-java-8.0.29.zip数据库
mysql数据库连接 mysql-connector-java-5.1.26-bin.jar
mysql驱动jar包 版本:8.0.13 下载后解压即可得到jar包。
java-servlet-连接mysql-数据库.docx java-servlet-连接mysql-数据库.docx java-servlet-连接mysql-数据库.docx java-servlet-连接mysql-数据库.docx java-servlet-连接mysql-数据库.docx java-servlet-连接mysql-...
MySQL Migration Toolkit 可以将任何数据源转换成mysql的数据,也可以将mysql的数据转换成其它类型的数据 MySQL Migration Toolkit 包括下列转换工具: Access-to-MySQL Access数据库转MySQL数据库 DBF-to-MySQL DBF...
mysql-connector-java-8.0.21.rar 数据库连接依赖最新版 适用于mysql 8.0.21最新版的
mysql-gui-tools-5.0-r17 的数据库管理工具
MySQL数据库 mysql-8.0.11-winx64.zip
资料-MySQL数据库 视频-MySQL数据库 文档 运维篇.rar 进阶篇.rar 基础篇.rar MySQL-运维篇.pdf MySQL-进阶篇.pdf MySQL-基础篇.pdf MySQL存储过程.xmind 文档 运维篇.rar 进阶篇.rar 基础篇.rar 资料-MySQL数据库 ...
jdbc链接mysql数据库的jar包(mysql-connector-java-5.0.8-bin.jar)
Mysql数据库乱码 问题彻底解决 针对JAVA
mysql数据库JDBC驱动mysql-connector-java-5.1.7-bin.jar
jsp+servlet+mysql的使用,实现从jsp页面的表单输入数据,到servl进行处理,把数据插入数据库。 你可以学到连接数据库,向数据库插入数据,使用servle等
Mysql数据库驱动mysql-connector-java-5.1.41-bin.jar
mysql插入数据库编码解决mysql插入数据库编码解决
17-MySQL数据库基本操作-DDL-数据类型-字符串类型 18-MySQL数据库基本操作-DDL-数据类型-日期类型 19-MySQL数据库基本操作-DDL-表其它操作 20-MySQL数据库基本操作-DDL-修改表结构 21-MySQL数据库基本操作-DML-基本...
mysql数据库互相转换及同步工具-MySQL_MySQL字符集互转
mysql-connector-java-5.1.37.zip