Mysql查看编码方式专题
一、查看数据库的字符集
show variables like 'character\_set\_%';
输出:
+--------------------------+--------+
| 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   |
+--------------------------+--------+
结合以下的编码表我们发现当前的数据库系统的编码:
latin1_bin  
西欧 (多语言), 二进制  
 
binary  
二进制  
 
以上是我在linux环境中的查看的结果编码集了。我现在WIN平台上面查看编码集结果如:
+--------------------------+--------+
| 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   |
+--------------------------+--------+
为什么会出现不一致的情况呢?在我本机上面是显示的UTF-8.而在LINUX上面居然是
 
二、通过命令修改其编码
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8;#直接指定其编码
直接通过命令进行修改
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
修改完了之后再查询
show variables like 'character\_set\_%';
+--------------------------+--------+
| 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   |
+--------------------------+--------+
结果全部都调整修改成UTF-8了!
修改完了之后我看 select * from address_address; 出现乱码了!Django也乱码 
 
 
  
Mysql数据库导入乱码问题:
 
  
 
   查询客户服务器的数据库字符集编码: 
   SHOW 
   VARIABLES 
   LIKE 
   'character\_set\_%' 
   ; 
  
 
  
 
   查看排序方式设定: 
   SHOW 
   VARIABLES 
   LIKE 
   'collation_%' 
   ; 
   
   
   
  

      
  
 
  

    进入后台将数据库导出 
  
 
  

    mysqldump -h localhost -u root –p cn --default-character-set=utf8 >chungtin_cn.sql 
  
 
  

    mysqldump -h localhost -u root –p en --default-character-set=utf8 >chungtin_en.sql 
  
 
  

    mysqldump -h localhost -u root –p test --default-character-set=utf8 >test.sql 
  
 
  

    导出后用写字板打开如下图: 
  
 
  

    进入phpmyadmin 
  
 
  

    导入数据库: 
  
 
  

      
  
 
  

    出现问题现象: 
  
 
  

    原因: 
  
 
  
 
          由于服务器的设置问题!修改/etc/php.ini文件(由于对方为租空间,没权限修改此文件) 
  
 
  

    解决方法:在报错的php文件头部添加(将错误不输出) 
  
 
  
 
   ini_set("error_reporting","E_ALL & ~E_NOTICE"); 
  
 
  

    修改php.ini 
  
 
  

    将: 
   error_reporting = E_ALL 
  
 
  

    修改为: 
   error_reporting = E_ALL & ~E_NOTICE 
  
 
  

    如果什么错误都不想让显示,直接修改: 
  
 
  
 
   display_errors = Off 
  
 
  

    如果你没有php.ini的修改权限,可在php头部加入 
  
 
  
 
   ini_set("error_reporting","E_ALL & ~E_NOTICE");