MySQL设置UTF8字符

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语句中的反引号[`]是用来转义的

相关文章
相关标签/搜索