1、建表时指定字符集utf-8:
CREATETABLE 表名
( `id`TINYINT(255)UNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,
`content`VARCHAR(255)NOTNULL)
DEFAULTCHARACTERSET=utf8
2、修改表的字符集为utf-8:
altertable表名converttocharactersetutf8
扩展资料:
1、创建数据库时设置字符集:
CREATEDATABASE 数据库名CHARACTERSETutf8COLLATEutf8_general_ci
注意后面三个单词之间是有下划线的对于每个选项所给定的值,前面没有等号;在第一个选项和第二个选项之间也没有逗号。
2、修改数据库的字符集:
alterdatabase 数据库名charactersetutf8
3、显示某数据库字符集设置:
showcreatedatabase数据库名
4、显示某数据表字符集设置:
showcreatetable表名
5、修改字段:
altertable表名modifycolumn'字段名'varchar(30)charactersetutf8notnull
6、添加表字段:
altertable表名addcolumn'字段名'varchar(20)charactersetutf8
1、首先在linux终端窗口处输入mysql -u root -p 命令,然后输入root帐户密码连接sql数据库。
2、连接上数据库后,执行命令show variables like 'character%'查看数据库的编码格式。
3、然后退出数据库,修改数据库的配置文件my.cnf文件,此文件如果通过rpm安装一般在/etc/目录下。
4、修改完成后,保存配置的修改,然后执行命令service mysqld restart。重新启动数据库。
5、然后待数据库重启完成后,重新连接数据库,执行命令show variables like 'character%'查看更改后的编码格式,可以看到已经修改为utf8编码。
-- 创建数据库时,设置数据库的编码方式-- 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条)