1、更改服务器的编码方式,在终端输入以下命令:
mysqld--character-set-server=gbk--collation-server=gbk_chinese_ci;
2、更改某个数据库的编码方式
mysql-uroot-p
alterdatabasecharactersetgbkcollategbk_chinese_ci
3、在创建数据库时指定编码:
mysql-uroot-p
createdatabasedb_namecharactersetgbkcollategbk_chinese_ci
4、更改某个表的编码方式
mysql-uroot-pdb_name
altertabletable_nameconvertto charachtersetgbkcollategbk_chinese_ci
5、在创建表时指定编码方式
mysql-uroot-pdb_name
createtabletable_name(....)charactersetgbkcollategbk_chinese_ci
6、更改某行的编码方式
mysql-uroot-pdb_name
altertabletable_namemodifycolumn_namevarchar(20)charactersetgbkcollategbk_chinese_ci
7、在创建列时指定编码方式:
</pre><prename="code"class="sql">mysql-uroot-pdb_name
createtabletable_name(...,col1varchar(20)charactersetgbkcollategbk_chinese_ci,...)charactersetutf8collateutf8_general_ci
-- 创建数据库时,设置数据库的编码方式-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8
-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)
drop database if EXISTS dbtest
create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci -- 修改数据库编码
alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci
alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci -- 创建表时,设置表、字段编码
use dbtest
drop table if exists tbtest
create table tbtest(
id int(10) auto_increment,
user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,
email varchar(60),
PRIMARY key(id)
)CHARACTER SET utf8 COLLATE utf8_general_ci -- 修改表编码
alter table tbtest character set utf8 COLLATE utf8_general_ci
-- 修改字段编码
ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci -- 查看所有的字符编码
SHOW CHARACTER SET
-- 查看创建数据库的指令并查看数据库使用的编码
show create database dbtest -- 查看数据库编码:
show variables like '%char%' -- 设置character_set_server、set character_set_client和set character_set_resultsset character_set_server = utf8 -- 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)