MYSQL字符集

MYSQL经常会出现一些乱码现象,大多数情况是字符集设置造成的。下面简要说明下

  1. 查看数据使用的字符集 (DATABASE)

mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

character_set_client 客户端字符集

character_set_database 数据库字符集

       2. 查看特定表的字符集(TABLE)

         mysql> SHOW TABLE STATUS FROM db_xx LIKE 'table_xx';
         +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| Name          | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation         | Checksum | Create_options | Comment |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
| table_xx | MyISAM |      10 | Dynamic    |    1 |             20 |          20 | 281474976710655 |         2048 |         0 |              2 | 2013-08-23 11:01:18 | 2013-08-23 11:01:18 | NULL       | latin1_swedish_ci |     NULL |                |         |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
     3 . 查看数据列字符集(COLUMN)

     mysql> SHOW FULL COLUMNS FROM table_xx;
+------------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field            | Type         | Collation         | Null | Key | Default | Extra          | Privileges                      | Comment |
+------------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| id         | int(19)      | NULL              | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |
| name           | varchar(200) | latin1_swedish_ci | NO   |     | NULL    |                | select,insert,update,references |         |
| presence         | int(1)       | NULL              | NO   |     | 1       |                | select,insert,update,references |         |
| picklist_valueid | int(19)      | NULL              | NO   |     | 0       |                | select,insert,update,references |         |
+------------------+--------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+

    4. 修改字符集

   1) 全局变量

       # vi /etc/my.cnf

     [client] 下增加
     default-character-set=utf8

     [mysqld]下增加

     default-character-set=utf8

    #sudo  /etc/init.d/mysqld restart

  2) DATABASE

   mysql> ALTER DATABASE db_xx CHARACTER SET UTF8;

  3) TABLE

  mysql> ALTER TABLE table_xx CONVERT TO CHARACTER SET UTF8;

  4) COLUMN
   mysql> ALTER TABLE table_xx   MODIFY COLUMN column_xx  VARCHAR(255) CHARACTER SET UTF8 NOT NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值