关于MySql字符集的问题

原创 2012年04月09日 11:02:40
1.查看默认字符集(默认情况下,mysql的字符集是latin1(ISO_8859_1)通常,查看系统的字符集和排序方式的设定可以通过下面的两条命令:
     mysql> 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       | D:"mysql-5.0.37"share"charsets" |
+--------------------------+---------------------------------+

  mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+

2.修改默认字符集
  (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,
如    default-character-set = utf8
      character_set_server =  utf8
   修改完后,重启mysql的服务,service mysql restart
   使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8
+--------------------------+---------------------------------+
| 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       | D:"mysql-5.0.37"share"charsets" |
+--------------------------+---------------------------------+

   (2) 还有一种修改字符集的方法,就是使用mysql的命令
     mysql> SET character_set_client = utf8 ;
     mysql> SET character_set_connection = utf8 ;
     mysql> SET character_set_database = utf8 ;
     mysql> SET character_set_results = utf8 ;
     mysql> SET character_set_server = utf8 ;

     mysql> SET collation_connection = utf8 ;
     mysql> SET collation_database = utf8 ;
     mysql> SET collation_server = utf8 ;

一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

SET NAMES 'utf8';

它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

相关文章推荐

MYSQL字符集与乱码问题分析

  • 2013年09月16日 22:07
  • 723KB
  • 下载

MySQL 四种字符集问题 统一

四种字符集问题(尽量统一设置utf8) sql: \s 查看 服务器字符集:server characterset: utf8 数据库字符集:Db characterset:utf8 ...

PHP Mysql 字符集及中文乱码问题

MySQL中的字符集转换过程 1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection; 2. 进行内部操...

mysql 中文字符集问题解决办法

mysql 中文字符集问题解决办法 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation)。 ...
  • prownd
  • prownd
  • 2012年10月18日 15:00
  • 309

PHP+MySQL中字符集问题分析

Character set顾名思义,就是字符、以及字符对应的编码的集合。例如简体中文字符集gb2312就包括简体中文中的所有规定汉字,以及每个汉字对应的代码。 Collation,是指比较字符的...

MySQL的字符集以及中文乱码问题

创建数据库:CREATE DATABASE IF NOT EXISTS liu_yan_ban2 default charset utf8 COLLATE utf8_general_ci;  C...

MySQL字符集问题

最近有个小项目需要修改MySQL的字符集,所以按照网上的教程修改,发现MySQL不能启动 然后网上说是,/etc/my.cnf设置的问题,貌似项目中MySQL是用rpm安装的,在etc中没有my.cn...
  • zhd320
  • zhd320
  • 2013年09月29日 14:42
  • 721

Linux中Mysql字符集问题

一:问题描述: 之前做的一个小网站放在阿里云ECS CentOS服务器上,数据库是mysql放在阿里云RDS上,界面和数据库都采用UTF8编码没有任何问题,近日将数据库也搬到服务器的mysql上,可是...

[mysql] ubuntu charset 字符集问题

安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windo...
  • suplxj
  • suplxj
  • 2012年05月10日 16:34
  • 416

mysql字符集设置相关问题

关于mysql知识总结的一篇文章  http://www.cnblogs.com/mailingfeng/archive/2012/09/06/2672764.html 以下是对上面文章的一些总结...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于MySql字符集的问题
举报原因:
原因补充:

(最多只允许输入30个字)