如何更改mysql数据库的字符集

如何更改mysql数据库的字符集,第1张

方法/步骤

如果没有配置好cmd里面的mysql 环境变量,那就在系统高级设置那儿进行MySQL的环境变量设置。

win+R,调出“运行”,输入cmd,回车

登录数据库

查看数据库

查看数据库字符编码

通过MySQL命令行修改:(编码可选)

mysql>set character_set_client=utf8

mysql>set character_set_connection=utf8

mysql>set character_set_database=utf8

mysql>set character_set_results=utf8

mysql>set character_set_server=utf8

mysql>set character_set_system=utf8

mysql>set collation_connection=utf8

mysql>set collation_database=utf8

mysql>set collation_server=utf8

当然还有:

修改数据库的字符集mysql>use mydb

mysql>alter database mydb character set utf8

创建数据库指定数据库的字符集

mysql>create database mydb character set utf8

Liunx下修改MySQL字符集:

1.查找MySQL的cnf文件的位置

find / -iname '*.cnf' -print

/usr/share/mysql/my-innodb-heavy-4G.cnf

/usr/share/mysql/my-large.cnf

/usr/share/mysql/my-small.cnf

/usr/share/mysql/my-medium.cnf

/usr/share/mysql/my-huge.cnf

/usr/share/texmf/web2c/texmf.cnf

/usr/share/texmf/web2c/mktex.cnf

/usr/share/texmf/web2c/fmtutil.cnf

/usr/share/texmf/tex/xmltex/xmltexfmtutil.cnf

/usr/share/texmf/tex/jadetex/jadefmtutil.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-innodb-heavy-4G.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-large.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-small.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-medium.cnf

/usr/share/doc/MySQL-server-community-5.1.22/my-huge.cnf

2. 拷贝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一个到/etc下,命名为my.cnf

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

3. 修改my.cnf

vi /etc/my.cnf

在[client]下添加

default-character-set=utf8

在[mysqld]下添加

default-character-set=utf8

4.重新启动MySQL

[root@bogon ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL [ 确定 ]

Starting MySQL. [ 确定 ]

[root@bogon ~]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with or \g.

Your MySQL connection id is 1

Server version: 5.1.22-rc-community-log MySQL Community Edition (GPL)

Type 'help' or '\h' for help. Type '\c' to clear the buffer.

如果用户想改变表的默认字符集和所有的字符列的字符集到一个新的字符集,使用下面的语句:ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name警告:上述 *** 作是在字符集中转换列值。如果用户在字符集(如 gb2312)中有一个列,但存储的值使用的是其它的一些不兼容的字符集(如 utf8),那么该 *** 作将不会得到用户期望的结果。在这种情况下,用户必须对每一列做如下 *** 作:ALTER TABLE t1 CHANGE c1 c1 BLOBALTER 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_nameDEFAULT是可选的。当向一个表里添加一个新的列时,如果没有指定字符集,则就采用缺省的字符集(例如当ALTER TABLE ... ADD column)。ALTER TABLE ... DEFAULT CHARACTER SET 和 ALTER TABLE ... CHARACTER SET 是等价的,修改的仅仅是缺省的表字符集。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6122169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存