linux修改/etc/my.cnfmysql
win系统修改my.ini文件linux
注意: 5.1版本在mysqld下设置default-character-set=utf8, 5.5的设置变了, 我使用的环境是mysql 5.5sql
[client]
default
-
character
-
set
=utf8
[mysqld]
character
-
set
-server=utf8
init_connect=
'SET NAMES utf8'
[mysql]
default
-
character
-
set
=utf8
|
修改完成以后, 重启数据库, 能够查看数据库
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.5.27,
for
Win32 (x86)
Connection
id: 33
Current
database
:
Current
user
: root@localhost
SSL:
Not
in
use
Using delimiter: ;
Server version: 5.5.27 MySQL Community Server (GPL)
Protocol version: 10
Connection
: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 3
min
53 sec
Threads: 1 Questions: 282 Slow queries: 0 Opens: 61 Flush tables: 1
Open
tables: 54 Queries per
second
avg
: 1.210
--------------
|
这样保证链接mysql以后, 默认都使用了UTF8编码ide
也能够查看全局变量编码
mysql> SHOW VARIABLES
LIKE
'character_set_%'
;
+
--------------------------+---------------------------------------------+
| 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 | XXX\mysql\share\charsets\ |
+
--------------------------+---------------------------------------------+
8
rows
in
set
(0.00 sec)
|
mysql> SHOW VARIABLES
LIKE
'collation_%'
;
+
----------------------+-----------------+
| Variable_name | Value |
+
----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+
----------------------+-----------------+
3
rows
in
set
(0.00 sec)
|
已经创建的数据库和表须要进行修改和更新, 分别对数据库和表进行, 数据量小能够考虑导出为sql语句后修改spa
修改数据库, 表和字段的sql语法参考以下code
修改数据库, 以test数据库为例orm
mysql>
alter
database
`test`
character
set
utf8;
|
修改表为utf8, 以book表为例server
mysql>
alter
table
`book`
character
set
utf8;
|
以book表的title字段为例
mysql>
alter
table
`books_book`
modify
`title`
varchar
(100)
character
set
utf8;
|
其中sql语句中的反引号[`]是用来转义的