zoukankan      html  css  js  c++  java
  • mysql 已有数据字符集的修改

    mysql 字符集的修改 可以使用set names utf8 通过修改配置文件 可修改参数 default_character_set=utf8

    但是以上修改方法只对数据库中新增的记录生效,如果数据库中已经存在记录 又不想删除 那么可采用下面的方法:

    1 现将数据结构导出

    (1),mysqldump -uroot -p --default-character-set=gbk -d databasename >createtb.sql;

    其中,--default-character-set  表示以什么字符集连接

         -d 表示导出数据结构

    (2) 手工修改createtb.sql 中表结构定义中的字符集为新的字符集

    (3) 确保数据不再更新,导出所有的数据

    mysqldump -urooot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename>data.sql

    -- quick 表示转储大的表,它强制mysqldump 一次一行的从服务器中检索表中的行,而不是检索所有行,并在输出前将它缓存到内存中。

    --extended-insert :表示使用包括几个values 列表的insert 语法,这样转储文件更小,重载文件时可以加速插入

    --no-create-info :不重写创建每个转储表的CREATE 语句

    --default-character-set:按照原本的字符集导出所有的数据这样不会有乱码

    (4) 打开data.sql  将set names latin1 改成 set names  gbk // ‘你想转化的字符集’

     (5) 使用新的字符集创建新的数据库create database databasename default character gbk;

    (6) 执行createtb.sql 创建表

    (7) 导入数据 执行 mysql -uroot -p databasename < data.sql

    注意:选择目标字符集的时候要选择比源字符集 更大的字符集,否则会出现目标字符集没有的字符,从而出现乱码。

  • 相关阅读:
    NgModelController: $setViewValue,$render,Formatter, Parser
    #!/usr/bin/env python与#!/usr/bin/python的区别
    post发送数据 mypost input 改变事件
    post发送 ArrayBuffer
    C# 字符串到字节数组,字节数组转整型
    C# WebKitBrowser 设置内容
    C# Tuple 创建一个新二元集合
    C# 时间对比
    C# 控件调整
    C# invoke和begininvoke的用法 __委托
  • 原文地址:https://www.cnblogs.com/benbenhuan/p/5332817.html
Copyright © 2011-2022 走看看