tin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | E:\my
sql-5.0.41-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)
可以看到,
mysql数据库中,此时有关字符串的设置的参数,其中“character_set_server”为创建数据库是默认的编码,现在需要将其修改为utf8。
? 修改数据库默认的编码:set character_set_server='utf8';
mysql> set character_set_server='utf8';
Query OK, 0 rows affected (0.00 sec)
执行改命令后,可以看到数据库此时的默认编码改为utf8了
mysql> show variables like '%character%';
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | latin1 |
| character_set_connection | la
tin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\mysql-5.0.41-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)
此时,创建数据库和表如果不指定字符集,则也会使用uft8的编码了。
? 查看schema和table编码:
show create database 数据库名;
show create table 表名;
例如存在这样一个数据库mydbdefault,mydbdefault中有一个表test
mysql> use mydbdefault;
Database changed
mysql> show create database mydbdefault;
+-------------+-----------------------------------------------------------------
-------+
| Database | Create Database
|
+-------------+-----------------------------------------------------------------
-------+
| mydbdefault | CREATE DATABASE `mydbdefault` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+-------------+-----------