为了防止mysql数据库导入导出数据出现筹码,我们一般会先对数据库进行字符编码集设置,希望此方法对大家所有帮助.
解决方法:开始-->运行-->cmd -->进入dos命令窗体,如果命令无法执行,请将mysql的安装路径放到系统变量path的最前面.
1.数据库表中字段的字符集设置,show create table TableName 或 show full columns from tableName,代码如下:
- mysql> show create table t1;
- +——-+————————————
- | Table | Create Table
- +——-+————————————
- | t1 | CREATE TABLE `t1` (
- `id` int(11) NOT NULL,
- `c1` varchar(30) DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=gbk |
- +——-+————————————
- 1 row in set (0.00 sec)
-
- mysql> show full columns from t1;
- +——-+————-+—————-+——+—–+-
- | Field | Type | Collation | Null | Key |
- +——-+————-+—————-+——+—–+-
- | id | int(11) | NULL | NO | PRI |
- | c1 | varchar(30) | gbk_chinese_ci | YES | |
- +——-+————-+—————-+——+—–+-
- 2 rows in set (0.00 sec)
- mysql>
2.当前联接系统参数 show variables like ‘char%’,代码如下:
- mysql> show variables like ‘char%’;
- +————————–+—————-
- | Variable_name | Value
- +————————–+—————-
- | character_set_client | gbk
- | character_set_connection | gbk
- | character_set_database | latin1
- | character_set_filesystem | binary
- | character_set_results | gbk
- | character_set_server | latin1
- | character_set_system | utf8
- | character_sets_dir | C:Program File
- +————————–+—————-
- 8 rows in set (0.00 sec)
- mysql>
1.中文,请确保表中该字段的字符集为中文兼容:
- big5 | Big5 Traditional Chinese
- gb2312 | GB2312 Simplified Chinese
- gbk | GBK Simplified Chinese
- utf8 | UTF-8 Unicode
mysql导出命令:
mysqldump -hlocalhost -P3306 -uroot -p123456 --default-character-set=gb2312 mysql>F:/pushingdb.sql
mysql导入命令:
mysql -uroot -p123456 --default-character-set=gb2312 test<F:/pushingdb.sql
注:root表示数据库用户名,123456表示数据库密码,mysql表示数据库名称,F:/pushingdb.sql表示导出到本地的位置;.
如果直接修改mysql修改字符集,我们只要在命令就是使用mysql的命令,代码如下:
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ; |