需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:
>show variables like 'character%'
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
另一个查看数据库编码的命令:
>show variables like ‘collation%’
MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码。查看当前数据库编码的SQL语句为:
mysql>use xxx
Database changed
mysql>show variables like
'character_set_database'
+------------------------+--------+
|
Variable_name | Value |
+------------------------+--------+
|
character_set_database | latin1 |
+------------------------+--------+
1
row in set (0.00 sec)
上面,我们先切换到xxx数据库下面来,然后使用SQL语句:show variables like 'character_set_database'
来查看了xxx数据库的编码。查询得到的结果是latin1编码。
下面,我们来修改xxx数据库的编码,把它修改为gb2312。
mysql>alter database xxx CHARACTER SET
gb2312
Query OK, 1 row affected (0.00 sec)
mysql>show variables like
'character_set_database'
+------------------------+--------+
|
Variable_name | Value |
+------------------------+--------+
|
character_set_database | gb2312 |
+------------------------+--------+
1
row in set (0.00 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)