博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把mysql 中的字符gb2312 改为gbk的方法
阅读量:4637 次
发布时间:2019-06-09

本文共 2039 字,大约阅读时间需要 6 分钟。

第一步:查找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,可以数据导出了。。

 

 

 

 

转载于:https://www.cnblogs.com/hssbsw/p/3426712.html

你可能感兴趣的文章
Axure 全局辅助线(转)
查看>>
正由另一进程使用,因此该进程无法访问此文件。
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
MyEclipse安装Freemarker插件
查看>>
计算多项式的值
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
TMS320F28335项目开发记录2_CCS与JTAG仿真器连接问题汇总
查看>>
最强的篮球队和马尔可夫模型
查看>>
hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
查看>>
cocos2d-x 音效中断问题
查看>>
子分类账知识学习(汇总网上比较有用的资料)
查看>>
pyQt 每日一练习 -- 登录框
查看>>
wp 删除独立存储空间文件(多级非空文件夹删除)
查看>>
Loadrunner安装使用入门
查看>>
smartupload 上传文件时 把页面编码改成gbk 解决乱码
查看>>
EPS是什么格式
查看>>
Python的数据库操作(Sqlalchemy)
查看>>
2.抽取代码(BaseActivity)
查看>>