您的位置:首页 > 数据库 > MySQL

mysql字符编码集(乱码)问题解决

2016-03-25 13:52 603 查看
1、创建数据库

  

CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';


  创建表

  

CREATE TABLE tp_wechatlocation
(
ID INT NOT NULL AUTO_INCREMENT,
OpenID VARCHAR(50),
Latitude VARCHAR(10),
Longitude VARCHAR(10),
CityName VARCHAR(30),
CreateTime DATETIME,
PRIMARY KEY (ID)
)ENGINE=INNODB DEFAULT CHARSET=utf8;


  设置表的默认字符编码集:ENGINE=INNODB DEFAULT CHARSET=utf8

  如果在创建数据后面不加设置默认表的字符编码集就会出现如下图“CityName”乱码问题

  


2、解决

  通过sql语句主动设置表的字符编码集。

  默认编码为utf8:ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  ansi(即GBK或GB2312):ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

  修改列的默认字符编码集:

  ALTER TABLE tp_wechatlocation MODIFY CityName VARCHAR(30)CHARACTER SET utf8 COLLATE utf8_general_ci;

3、dos下不支持UTF8的显示

  Linux系统下设置字符集:

  中文设置:export LANG=zh_CN.GB2312
  英文设置:export LANG=zh_CN.UTF-8

4、查看字符编码集

  查看当前数据库的相关编码集:SHOW VARIABLES LIKE 'character%';

  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 utf8
character_set_system utf8
character_sets_dir E:\wamp\bin\mysql\mysql5.5.20\share\charsets\

  查看表:show create table yjdb;

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: