如 default-character-set = utf8
character_set_server = utf8
修改完后,重启mysql的服务,service mysql restart
使用 mysql>SHOW VARIABLES LIKE 'character%'查看,发现数据库编码均已改成utf8
+--------------------------+---------------------------------+ | 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 | D:"mysql-5.0.37"share"charsets" | +--------------------------+---------------------------------+
(2) 还有一种修改mysql默认字符集的方法,就是使用mysql的命令
mysql>SET character_set_client = utf8 mysql>SET character_set_connection = utf8 mysql>SET character_set_database = utf8 mysql>SET character_set_results = utf8mysql>SET character_set_server = utf8mysql>SET collation_connection = utf8 mysql>SET collation_database = utf8 mysql>SET collation_server = utf8
一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:
SET NAMES 'utf8'
它相当于下面的三句指令:
SET character_set_client = utf8 SET character_set_results = utf8 SET character_set_connection = utf8
方法/步骤如果没有配置好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
方法1:通过客户端修改表字段的默认字符集打开SQLyog客户端,连接数据库如下图所示,点击connection 按钮 连接数据库
我的数据库名称为edu,然后我随意找到数据库中test2表,右键-----》Alter Table
如果安装数据库的 时候 没有选择字符集设置,那么mysql数据库默认为latin1,在箭头部分选择utf8字符集
方法2:用数据库命令修改字符集
首先查看当前数据库字符集,在命令框中执行如下命令:show variables like 'character_set_%'
查看字符集排序设置,执行命令:show variables like 'collation_%'
修改服务器级别字符集,执行命令:
1,临时修改:SET GLOBAL character_set_server=utf8
修改表级别,命令如下:ALTER TABLE table_name DEFAULT CHARSET utf8
修改数据库级别,命令如下:use edu(换成你要修改的数据库名,在这里我的数据库为edu),,然后执行命令:alter database edu character set utf-8
或者修改mysql的my.ini文件中的字符集键值
[mysql]
[mysqld]
重启mysql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)