修改mysql数据库的默认编码方式

修改my.ini文件

加上

default-character-set=gb2312

设定数据库字符集

alter database da_name default character set 'charset'

1)设置数据库编码 /etc/my.cnf
[mysqld]
default-character-set=gbk

...
[client]
default-character-set=gbk

---------------------------------------

2)按字符集导出
$mysqldump -u root -p dbname --default-character-set=gbk > a.sql;

3)查看SQL文件的编码
[root@localhost gethtml]# file a.sql
   a.sql: UTF-8 Unicode ...
[root@localhost gethtml]# iconv -f utf-8 -t gbk a.sql > a2.sql
[root@localhost gethtml]# file a2.sql
   a2.sql: Non-ISO extended-ASCII English text 这时已经是gbk的编码了

3)导入
查看数据库服务和客户端字符集
mysql> status;
Server characterset:    gbk
Db     characterset:      gbk
Client characterset:      latin1
Conn. characterset:     latin1

mysql> set names 'gbk';   //这样

mysql> status;
Server characterset:   gbk
Db     characterset:     gbk
Client characterset:     gbk
Conn. characterset:    gbk

这时才能导数据
mysql> source a.sql;

----------------------------------------------------------------------------------

单独设置某个数据库:
alter database testdb character set utf8;

查看mysql支持的编码:
show character set;

查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE ''character_set_%'';

LINUX 如下:

1)导出数据
[root@www.cnscn.org ~]$ mysqldump -u root -p dbname --default-character-set=gbk > base_user.sql;

2)查看导出的sql文件的编码
[root@www.cnscn.org ~]$ file base_user.sql 
  base_user.sql: UTF-8 Unicode text, with very long lines

3)转成要用的编码
[root@www.cnscn.org ~]$ iconv -f utf-8 -t gbk base_user.sql >base_user_gbk.sql

4)连接数据库并查看当前库的编码
[root@www.cnscn.org ~]$ mysql -uroot
 mysql> use testdb;

mysql> status;
    Server characterset:    latin1
    Db     characterset:    gbk
    Client characterset:    latin1
    Conn. characterset:    latin1

5)设置成需要的编码
mysql>set names 'gbk';

6)查看现在的编码
mysql> status;
    Server characterset:    latin1
    Db     characterset:    gbk
    Client characterset:    gbk
    Conn. characterset:    gbk

7)导入我们转换成gbk后的文件
mysql> source base_user_gbk.sql;

  1. 查看数据库

  2. 查看数据库字符编码

  3. 通过MySQL命令行修改:(编码可选)

    mysql> set character_set_client=utf8;

    mysql> set character_set_connection=utf8;

    mysql> set character_set_database=utf8;

    mysql> set character_set_results=utf8;

    mysql> set character_set_server=utf8;

    mysql> set character_set_system=utf8;

    mysql> set collation_connection=utf8;

    mysql> set collation_database=utf8;

    mysql> set collation_server=utf8;

  4. 当然还有:

    修改数据库的字符集mysql>use mydb

    mysql>alter database mydb character set utf8;

  5. 8

    创建数据库指定数据库的字符集

    mysql>create database mydb character set utf8;

mysql将表的字符编码转换成utf-8

复制代码 代码如下:

alter table tb_anniversary convert to character set utf8;

修改数据库mysql字符编码为UTF8

步骤1:查看当前的字符编码方法

复制代码 代码如下:

mysql> show variables like'character%';

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

|Variable_name |Value |

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

|character_set_client |latin1 |

| character_set_connection |latin1 |

| character_set_database |latin1 |

| character_set_filesystem |binary |

|character_set_results |latin1 |

|character_set_server |latin1 |

|character_set_system |utf8 |

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

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

8 rows in set (0.00 sec)

字符编码为latin1时,用户在给数据表插入一条字符类型(char)的记录,在显示此记录时可能会无法正常显示字符类型的数据,故此处我们将mysql字符编码修改为UTF8。操作如下:

步骤2:修改my.cnf配置文件,修改后如下(/etc/my.cnf):

复制代码 代码如下:

[client]

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set=utf8 #设置默认编码为UTF8

Mysql数据库字符集问题的更多相关文章

  1. 查看和设置MySQL数据库字符集(转)

    查看和设置MySQL数据库字符集作者:scorpio 2008-01-21 10:05:17 标签: 杂谈 Liunx下修改MySQL字符集:1.查找MySQL的cnf文件的位置find / -ina ...

  2. 使用SQL语句修改Mysql数据库字符集的方法

    使用SQL语句修改Mysql数据库字符集的方法   修改库: alter database [$database] character set [$character_set] collate [$c ...

  3. 关于mysql数据库字符集优先级问题

    mysql数据库可以分别设置数据库字符集.表字符集和表字段字符集. 1.数据库字符集 < 表字符集 < 表字段(列)字符集. 例如数据库字符集为gbk -- GBK Simplified ...

  4. mysql数据库字符集编码查看以及设置

      show variables like %char% character_set_client     | gb2312                           character_s ...

  5. MySQL数据库字符集由utf8修改为utf8mb4一例

    对于mysql 5.5 而言,如果不设定字符集,mysql默认的字符集是 latin1 拉丁文字符集: 为了统一管理和应用开发的方便,一般都会统一将操作系统,客户端,数据库各方面的字符集都设置为 ut ...

  6. linux下设置mysql数据库字符集utf8

    mysql中文乱码解决方法:将mysql数据库编码统一utf8 查看数据库编码: show variables like 'character%'; 编辑/etc/my.cnf [mysql] def ...

  7. inux下设置mysql数据库字符集utf8

    mysql中文乱码解决方法:将mysql数据库编码统一utf8 查看数据库编码: ? 1 <span style="font-size: 16px;"><stro ...

  8. MySQL 数据库字符集 utf8 和 utf8mb4 的区别

    参考于今日头条上Java芋道源码的-----记住:永远不要在 MySQL 中使用 UTF-8 字符集选择 MySQL 的 utf8 实际上不是真正的 UTF-8.utf8 只支持每个字符最多三个字节, ...

  9. mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)

    普通的UTF8编码是不支持emoji表情插入的,会报异常: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x9 ...

随机推荐

  1. sql 等额本息

    /* 等额本息计算还款额 a 贷款总额 b 月利率 m 贷款月数 */ execute block returns (result double precision) as declare a ; - ...

  2. [转]File uploads in ASP.NET Core

    本文转自:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads By Steve Smith ASP.NET MVC ...

  3. Xshell 6 免费版本安装过程

    下载 官网下载:https://www.netsarang.com/ 点击download 注册 填写下方红色方框标注的注册信息,注册类型填写“home or school use”,名字,邮箱.最后 ...

  4. JavaScript 正则表达式RegExp 和字符串本身的正则表达式

    JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...

  5. debian上安装docker ce

    在Debian9上安装Docker CE 使用从包中安装的方式 Docker是一个开源的容器引擎,它有助于更快地交付产品.Docker可将应用程序和基础设施层隔离,并且将基础设施当作程序一样进行管理. ...

  6. iOS--支付宝环境集成

    1.下载支付宝SDK以及Demo https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType= ...

  7. 第一次搭建dns服务器

    CentOS 7 搭建DNS服务器 主要参考的是小左先森的一篇博客:https://blog.51cto.com/13525470/2054121. 1.搭建过程中遇到的几个问题说一下: a.在重启服 ...

  8. Mysql explain分析sql语句执行效率

    mysql优化–explain分析sql语句执行效率 Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 ...

  9. Linux:网络工具 nc

    虽然叫nc不过用起来非常方便. 选项 - Use IPv4 only - Use IPv6 only -U, --unixsock Use Unix domain sockets only -C, - ...

  10. ENVI对一种WGS84投影不支持的情况说明

    作者:朱金灿 来源:http://blog.csdn.net/clever101 假如wkt字符串这样描述WGS84投影: GEOGCS["GCS_WGS_1984",DATUM[ ...