MySQL查看和修改字符集
Posted qq_39297233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查看和修改字符集相关的知识,希望对你有一定的参考价值。
一、查看字符集
查看mysql数据库服务器和数据库字符集
方法一:
show variables like'%character%';
方法二:
show variables like'collation%';
查看MYSQL所支持的字符集
show charset;
查看库的字符集
语法:show create database 库名;
show createdatabase dbName\\G
查看表的字符集
语法:show table status from 库名 like 表名;
show table status from dbName like'table_info';
查看表中所有列的字符集
语法:show full columns from 表名;
show full columns from table_info;
二、设置字符集
设置字符集一般有两种方法,一种是在创建表的时候设置字符集,另一种是表建成之后修改字符集。
创建时指定字符集
创建库的时候指定字符集:
语法:create database 库名 default character set=字符集;
createdatabase db2 defaultcharacterset=utf8;
创建表的时候指定字符集:
语法:create table 表名(属性)default character set = 字符集;
createtable test1(id int(6),name char(10)) defaultcharacterset='utf8';
修改字符集
修改全局字符集
语法:alter database 库名 default character set 字符集;
alterdatabase shiyan defaultcharacterset utf8;
修改表的字符集
语法:alter table 表名 convert to character set 字符集;
altertable test1 converttocharacterset utf8;
修改字段的字符集
语法:alter table 表名 modify 字段名 字段属性 character set 字符集;
altertable test1 modify name char(10) characterset utf8;
CentOS 查看和修改 MySQL 字符集
客户提供了MySQL的环境,但是不支持中文,
通过以下命令查看了MySQL的字符集
连接上 mysql 服务,输入以下命令
mysql> show variables like ‘character_set%‘;
显示如下:
+--------------------------+----------------------------+ | 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/ | +--------------------------+----------------------------+
为了让 MySQL 支持中文,需要把字符集改变成 UTF8,
方法如下:
1. 打开etc/my.cnf
2. 修改成如下内容,保存
[client] port=3306 socket=/var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 [mysql] no-auto-rehash default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
3. 重启 mysql 服务:service mysqld restart
再次查看 mysql 编码,已经更新成如下信息
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
以上是关于MySQL查看和修改字符集的主要内容,如果未能解决你的问题,请参考以下文章