table
`w`
default
character
set
utf8;或者alter
table
tbl_name
convert
to
character
set
charset_name;但是发现其中一个字段content的字符集还是gbk。于是更改mysql数据库表中某个字段的字符集,修改字段的定义:alter
table
`w`
modify
column
`content`
varchar(30)
character
set
utf8
not
null;打开SQLyog客户端,连接数据库如下图所示,点击connection 按钮 连接数据库
我的数据库名称为edu,然后我随意找到数据库中test2表,右键-----》Alter Table
3
如果安装数据库的 时候 没有选择字符集设置,那么mysql数据库默认为latin1,在箭头部分选择utf8字符集修改mysql的默认字符集是通过修改它的配置文件来实现的。一般分两种情况:
Windows平台
windows下的mysql配置文件是myini,一般在c:windowsmyini或者c:winntmyini可以直接在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql
service mysql restart或/etc/initd/mysql restart
或用其他方法重新启动,就生效了。
Unix平台
linux下的mysql配置文件是mycnf,一般是/etc/mycnf,如果找不到可以用find命令找一下:
find / -iname mycnf
在这个文件里面加上
default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql
net stop mysqlMySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明
需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:
一、Windows
1、中止MySQL服务
2、在MySQL的安装目录下找到myini,如果没有就把my-mediumini复制为一个myini即可
3、打开myini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务
二、Linux
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到mycnf,如果没有就把MySQL的安装目录下的support-files目录下的my-mediumcnf复制到/etc/下并改名为mycnf即可
3、打开mycnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;警告:上述 *** 作是在字符集中转换列值。如果用户在字符集(如 gb2312)中有一个列,但存储的值使用的是其它的一些不兼容的字符集(如 utf8),那么该 *** 作将不会得到用户期望的结果。在这种情况下,用户必须对每一列做如下 *** 作:ALTER TABLE t1 CHANGE c1 c1 BLOB;ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;这样做的原因是:从 BLOB 列转换或转换到 BLOB 列没有转换发生。如果用户指定以二进制进行 CONVERT TO CHARACTER SET,则 CHAR、VARCHAR 和 TEXT 列将转换为它们对应的二进制字符串类型(BINARY,VARBINARY,BLOB)。这意味着这些列将不再有字符集,随后的 CONVERT TO *** 作也将不会作用到它们上。如果仅仅改变一个表的缺省字符集,可使用下面的语句:ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name;DEFAULT是可选的。当向一个表里添加一个新的列时,如果没有指定字符集,则就采用缺省的字符集(例如当ALTER TABLE ADD column)。以更改为UTF-8为例,GB2312雷同。 1、关闭mysql服务(以下为命令行中执行) view plaincopy service mysql stop 2、修改 /etc/mysql/mycnf (默认的安装路径) view plaincopy vim /etc/mysql/mycnf 打开mycnf后,在文件内的[mysqld]下增加如
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)