mysql怎么更改gbk_把mysql 中的字符gb2312 改为gbk的方法

第一步:查找mysql的字符:

mysql> show variables like '%char%';

+--------------------------+----------------------------------+

| 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     | latin1                         |

| character_set_system     | utf8                             |

| character_sets_dir       | /usr/local/mysql/share/charsets/ |

+--------------------------+----------------------------------+

8 rows in set

我们需要修改标黑的两项,方法如下:

安装完成后也可以运行设置向导的。

X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe

可以修改:character_set_server  字符

MySQL数据库字符编码全局设置;可在Navicat for MySQL查询中执行下面语句修改

语句:ALTER DATABASE `数据库名` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

可以修改:character_set_database 字符

2、MySQL数据表字符编码设置;可在Navicat for MySQL查询中执行下面语句修改

语句:ALTER TABLE `表名` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

3、MySQL数据表字段字符编码设置;(也可在phpmyadmin或Navicat for MySQL中修改)

语句:ALTER TABLE `表名` CHANGE `字段名` `字段名` 字段类型(长度) CHARACTER SET gbk COLLATE gbk_chinese_ci NULL DEFAULT NULL

注意:请在执行查询之前,执行:SET NAMES gbk

改完后重启mysql服务,有必要的话重新导入表结构。

在php中查询前先设置:mysql_query("SET NAMES gbk");否则网页还是出现乱码

导入表的方法,(mysqldump用法见前博文):

导出表结构

mysqldump  -hlocalhost -uroot -p123456 --default-character-set=gbk -d student_info > createdb.sql

导出表数据

mysqldump -hlocalhost -uroot -p123456 --quick --no-create-info --extended-insert --default-character-set=gb2312 student_info > data.sql

当mysql使用mysqldump导出数据出错时的方法:

今天使用mysql的mysqldump进行数据的导出,可是进入mysql后,老是出错,提示为You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> mysqldump -uroot -ppsw onebase > bak.sql' at line 1

一直百思不得其解,意思就是sql语句中包含mysql的内置关键字,看的一头雾水,百度一下,发现原来是使用mysql command line client cmd直接进入后,会于mysqldump.exe冲突,所以,要用CMD到mysql的安装路径的bin目录下,例如:xxxx\bin>mysqldump -u a 用户 -p密码database > 文件路径xx.sql

ok,可以数据导出了。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值