zoukankan      html  css  js  c++  java
  • 各版本mysql乱码的问题解决

    之前用的是ubuntu系统,直接从Mysql官网下载Mysql5.5源码编译,但总是无法通过,所以最后只得通过ubuntu的软件源安装,源的Mysql版本是5.1.那个乱码问题基本好解决,但是最后换到fedora15系统后,从源安装Mysql版本是5.5,安装好后发现中文会出现?代替,查看后发现character_set_server和character_set_database字符集仍是latin1,但是安装网上的办法修改my.cnf后数据库启动就会失败,恢复my.cnf文件后就能正常启动。所以在这总结以下mysql的乱码问题。 
          首先一点是,Mysql字符集设置分为服务器级,数据库级,表级和字段级四级。你可以在建表的时候为表或者字段指定单独使用的字符集。可以使用show create table TableName 或 show full columns from tableName 命令查看指定表或者表中字段所使用的字符集,之所以中文会乱码,就是因为使用了Mysql时可能使用了不支持中文的字符集。 
          在mysql中使用命令show variables like 'char%'会得到一个结果,例如我在未修改字符集之前,我电脑的结果为: 
    mysql> show variables like 'char%'; 
    +--------------------------+---------------- 
    | Variable_name            | Value 
    +--------------------------+---------------- 
    | character_set_client     | utf8 
    | character_set_connection | utf8 
    | character_set_database   | latin1 
    | character_set_filesystem | binary 
    | character_set_results    | utf8 
    | character_set_server     | latin1 
    | character_set_system     | utf8 
    | character_sets_dir       | /usr/share/mysql/charsets/ 
    +--------------------------+---------------- 
    8 rows in set (0.00 sec) 
    mysql> 
        因此你要让整个数据库默认支持中文,需要确保上述结果中都能为支持中文的字符集,可以看出,我的电脑中character_set_database和character_set_server仍然是latin1.在mysql5.1版本中,修改my.cnf文件,在其中的mysqld]和[client]下分别添加: default-character-set = utf8,在查看就应该成功。但是在mysql5.5中貌似这个文件的内容有所不同,依然添加default-character-set = utf8会导致mysql不能启动,解决办法是在my.cnf文件的[mysqld]配置选项下添加character-set-server = utf8,然后就应该可以了。 
          当然也可以不用修改my.cnf这个文件,用set name 'charsetname'命令就可以使character_set_client,character_set_connection,character_set_results都改为这个字符集,charestname指字符集,但是重启后又会还原。 
          这个总结只是针对mysql本身会出现中的乱码问题的解决,对于java或者php链接数据库取得结果的乱码这个总结没有!

  • 相关阅读:
    English,The Da Vinci Code, Chapter 23
    python,meatobject
    English,The Da Vinci Code, Chapter 22
    English,The Da Vinci Code, Chapter 21
    English,The Da Vinci Code, Chapter 20
    English,The Da Vinci Code, Chapter 19
    python,xml,ELement Tree
    English,The Da Vinci Code, Chapter 18
    English,The Da Vinci Code, Chapter 17
    English,The Da Vinci Code, Chapter 16
  • 原文地址:https://www.cnblogs.com/EasonSun/p/3257291.html
Copyright © 2011-2022 走看看