修改 /etc/mysql/my.cnf 文件,
在 [client] 下加入 default-character-set=utf8,
在 [mysqld] 下加入 default-character-set=utf8,
则在vi里可以正确的显示中文了(前提是vi也使用utf8)。
不过在查询的时候,结果里的中文却会显示成 "?",这个问题比较简单的方法有几种,分别是:
1.在创建数据库时即指定数据库字符集(还可以顺带指定校对规则):
mysql> CREATE DATABASE db_name
mysql> DEFAULT CHARACTER SET utf8 [ COLLATE utf8 ];
2.在创建表的时候指定表字符集:
mysql> CREATE TABLE tbl_name ( column_list )
mysql> DEFAULT CHARACTER SET charset_name COLLATE collation_name
3.指定列字符集(每一个“字符 ”列(即,CHAR 、VARCHAR 或TEXT 类型的列)有一个列字符集和一个列 校对规则,它不能为
空。列定义语法有一个可选子句来指定列字符集和校对规则):
mysql> CREATE TABLE Table1
mysql> (
mysql> column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci
mysql> );