zoukankan      html  css  js  c++  java
  • 把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%MySQLMySQL Server 5.0inMySQLInstanceConfig.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目录下,例如:xxxxin>mysqldump -u a 用户 -p密码database > 文件路径xx.sql

    ok,可以数据导出了。。

     

     

  • 相关阅读:
    标准库中的生成器函数
    Python 数据分析5
    Chrome 开发者工具(三)------ Sources
    Chrome 开发者工具(二)------ Console
    Chrome 开发者工具 F12(一)
    jquery 获取自定义属性的值 data-*
    PHP 常用函数备忘
    Winsows 服务器,PHP 开发环境搭建
    FuelPHP 查看 Query SQL
    Laravel —— could not find driver
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3426712.html
Copyright © 2011-2022 走看看