如果在建库建表的时候,没有明确指定字符集,则采用默认的字符集 latin1,其中是不包含中文字符的。查看默认的编码字符集
show variables like '%char%' ;

永久修改
- 修改配置文件 在/usr/share/mysql/ 中找到 my.cnf 的配置文件,拷贝其中的 my-huge.cnf 到 /etc/ 并命名为 my.cnf 。添加以 下内容后再重启服务。 注意:必须将文件拷贝到指定路径,且名称为 my.cnf
 
[client] default-character-set=utf8 
[mysqld]
 character_set_server=utf8 
 character_set_client=utf8 
 collation-server=utf8_general_ci 
[mysql] default-character-set=utf8
注意:已经创建的数据库的设定不会发生变化,参数修改只对新建的数据库有效
- 修改已创建库、表字符集 修改数据库的字符集 mysql> alter database mydb character set ‘utf8’; 修改数据表的字符集 mysql> alter table mytbl convert to character set ‘utf8’;
 - 修改已经乱码数据 无论是修改 mysql 配置文件或是修改库、表字符集,都无法改变已经变成乱码的数据。 只能删除数据重新插入或更新数据才可以完全解决
 
                  
                  
                  
                  
                            
当创建数据库或表时未指定字符集,默认使用latin1,不支持中文。要查看当前字符集,可运行`show variables like '%char%'`。永久修改字符集需编辑配置文件my.cnf,添加相应utf8设置并重启服务。已创建的数据库和表需通过`ALTER DATABASE/ALTER TABLE`命令转换字符集。已乱码数据需删除重建或更新。
          
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
					2473
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            