1、查看数据库编码格式
十载的周村网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整周村建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“周村网站设计”,“周村网站推广”以来,每个客户项目都认真落实执行。
mysql show variables like 'character_set_database'
2、查看数据表的编码格式
mysql show create table 表名;
3、创建数据库时指定数据库的字符集
mysqlcreate database 数据库名 character set utf8;
4、创建数据表时指定数据表的编码格式
create table tb_books (
name varchar(45) not null,
price double not null,
bookCount int not null,
author varchar(45) not null ) default charset = utf8;
5、修改数据库的编码格式
mysqlalter database 数据库名 character set utf8;
6、修改数据表格编码格式
mysqlalter table 表名 character set utf8;
7、修改字段编码格式
mysqlalter table 表名 change 字段名 字段名 类型 character set utf8;
mysqlalter table user change username username varchar(20) character set utf8 not null;
查看MySQL编码
SHOW VARIABLES LIKE 'char%';
因为当初安装时指定了字符集为UTF8,所以所有的编码都是UTF8。
character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;
character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;
character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;
character_set_server:MySQL服务器默认编码;
character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;
控制台编码
修改character_set_client、character_set_results、character_set_connection为GBK,就不会出现乱码了。但其实只需要修改character_set_client和character_set_results。
控制台的编码只能是GBK,而不能修改为UTF8,这就出现一个问题。客户端发送的数据是GBK,而character_set_client为UTF8,这就说明客户端数据到了服务器端后一定会出现乱码。既然不能修改控制台的编码,那么只能修改character_set_client为GBK了。
服务器发送给客户端的数据编码为character_set_result,它如果是UTF8,那么控制台使用GBK解码也一定会出现乱码。因为无法修改控制台编码,所以只能把character_set_result修改为GBK。
修改character_set_client变量:set character_set_client=gbk;
修改character_set_results变量:set character_set_results=gbk;
设置编码只对当前连接有效,这说明每次登录MySQL提示符后都要去修改这两个编码,但可以通过修改配置文件来处理这一问题:配置文件路径:D:\Program Files\MySQL\MySQL Server 5.1\ my.ini
基本上现在的字符集 MySQL 都支持,查看 MySQL 支持的字符集列表, 有两种方法:
1. SQL 语句
2. 查看元数据字典表
查询结果:
1)第一列代表字符集名字;
2)第二列表示字符集排序规则;
3)第三列表示字符集描述;
4)第四列表示字符集编码的最大字节数。
首先进入dos模式下输入:
1.cd C:\Program Files\MySQL\MySQL Server 5.5\bin
2.mysql -h127.0.0.1
(你要访问的主机的地址) -uroot(用户名) -proot(密码)
3.show variables like 'character%';
这样就完成了对你的mysql里的编码格式的查看了,如果你想修改,继续执行下面的步骤:
打开mysql安装目录,里面有个my.ini文件,
打开这个文件,里面有两处字符集的设置,默认是拉丁,
建议你所想改的,如:utf8或gbk
然后启动mysql服务,
以后创建的数据库默认字符集就是ok了
(重启时,打开MySQLAdministrator的Service Control进行操作就可以了。)
mysql查看表的字符集的方法:执行【show table status from 库名 like 表名;】语句即可。如果要查看库的字符集,可以执行【show database status from 库名 like 表名;】语句。
查看表的字符集
show table status from 库名 like 表名;
查看库的字符集
show database status from 库名 like 表名;
查看表中所有列的字符集
show full columns from 表名;
需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;