Show variables like ‘character%’;  //显示目前mysql默认 字符集

显示数据连接字符集

修改字符集

D:\mysql>Net stop mysql   //停止MYSQL

方法:修改my.ini

在安装文件夹中把my-dafault.ini改成my.ini

[mysqld]

port=3306

Character_set_server = utf8

修改完后,重启mysql的服务

Show variables like ‘character%’;  //显示目前mysql默认 字符集

还有一种修改mysql默认字符集的方法,就是使用mysql的命令

  1. mysql> SET character_set_client = utf8 ;
  2. mysql> SET character_set_connection = utf8 ;
  3. mysql> SET character_set_database = utf8 ;
  4. mysql> SET character_set_results = utf8 ;
  5. mysql> SET character_set_server = utf8 ;
  6. mysql> SET collation_connection = utf8 ;
  7. mysql> SET collation_database = utf8 ;
  8. mysql> SET collation_server = utf8 ;

一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

  1. SET NAMES 'utf8';

它相当于下面的三句指令:

  1. SET character_set_client = utf8;
  2. SET character_set_results = utf8;
  3. SET character_set_connection = utf8;

修改已有表的字符集为utf8

alter table t_user_friend convert to character set utf8;

修改数据库字符集:

ALTER DATABASE
db_name DEFAULT CHARACTER SET character_name [COLLATE ...];

把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE
...]

如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8
COLLATE utf8_general_ci;

只是修改表的默认字符集:

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name
[COLLATE...];

如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci;

修改字段的字符集:

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE
...];

如:ALTER TABLE logtest CHANGE title title
VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

查看数据库编码:SHOW CREATE DATABASE db_name;

查看表编码:SHOW CREATE TABLE
tbl_name;

查看字段编码:SHOW FULL COLUMNS
FROM tbl_name;

Mysql 字符集的设置和修改的更多相关文章

  1. MySQL字符集的设置

    Notice:文章基于ubuntu系统而写 1.关于MySQL字符集 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式( ...

  2. linux下mysql字符集编码问题的修改

    安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件:由于linux下MySQL的默认安装目录分布在不同的文件下:不像windo ...

  3. MySQL字符集

    字符集的选择 1.如果数据库只需要支持中文,数据量很大,性能要求也很高,应该选择双字节定长编码的中文字符集(如GBK).因为相对于UTF-8而言,GBK"较小",每个汉字只占2个字 ...

  4. [MySQL] 字符集的选择

    1. Mysql支持的字符集 MySQL服务器可以支持多种字符集,不同的字段都可以使用不同的字符集. 查看所有可用字符集: show character set; select * from info ...

  5. MySQL字符集详解

    Reference:  https://www.cnblogs.com/wcwen1990/p/6917109.html MySQL字符集详解   一.字符集和校验规则 字符集是一套符合和编码,校验规 ...

  6. (3.16)mysql基础深入——mysql字符集

    (3.16)mysql基础深入——mysql字符集 关键字:mysql字符集,mysql编码 目录 1.概念 2.常用的字符编码 3.查看mysql字符集 [3.1]查看服务器支持的字符集 [3.2] ...

  7. 9.Mysql字符集

    9.字符集9.1 字符集概述 字符集就是一套文字符号及其编码.比较规则的集合. ASCII(American Standard Code for Information Interchange)字符集 ...

  8. MySQL从删库到跑路(二)——MySQL字符集与乱码解析

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.字符集与编码 1.字符集简介 字符(Character)是各种文字和符号的总称,包括各国家文字.标点符号.图形符 ...

  9. 如何修改MySQL字符集

    首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在数据库实例.单个 ...

  10. Mysql字符集设置

    转 基本概念 • 字符(Character)是指人类语言中最小的表义符号.例如’A'.’B'等:• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encodi ...

随机推荐

  1. python学习第八周总结

    多进程实现TCP服务端并发 之前我们学习了用socket模块进行文字以及文件的传输,但是之前的操作一个服务端只能与一个客户端进行交互,如果要想实现多个客户端与服务端交互的并发效果,我们需要进行如下操作 ...

  2. spring-in-action_day02

       开发web应用 # 开发Spring web应用,最基本的需要构建以下组件: 1.pojo类(从数据库获取数据) 2.pringmvc控制器 3.视图模板(页面) ##第一步 构建pojo类 p ...

  3. Fiddler V5.0 英文/汉化 Windows 抓包工具 【12月29日亲测有效】

    前言 Fiddlerr 功能强大的抓包工具,Web调试工具,HTTP协议抓包调试工具.它能够捕获浏览器和程序的所有http/https通信连接,可以针对访问请求,分析请求数据报文.设置断点.调试web ...

  4. 使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件

    使用vs2019学习xamarin时,创建新程序.使用模拟器真机等测试都报错如下图错误: 调整AndroidManifest.xml和设备调试属性,打开[Android SDK和工具]安装可能需要的S ...

  5. AIFF和AIFF-C音频交换文件格式的简单介绍

    正文 AIFF,全称 Audio Interchange File Format,可简写为 Audio IFF 或 AIFF,是苹果公司推出的一种音频文件格式. AIFF-C,是 AIFF 的扩充,C ...

  6. sqllabs靶场less1-4

    less1-4 语法:Select 列名称 from 表名称 (where column_name='xxx' and -) 在数据库中: information_schema:存放和数据库有关的东西 ...

  7. CF1141F2 Same Sum Blocks (Hard)

    题目传送门 思路 简单题. 不妨先预处理出每一个区间的 \(\sum\),然后离散化 \(\sum\),对于每个 \(\sum\) 开一个 \(\mathcal vector\) 记录所有区间的左右端 ...

  8. 题解 [AHOI2009]同类分布

    不理解之前为什么不会哈哈哈哈哈哈哈哈. 我是个天才(喜 显然记录 \(f_{i, t, r, s, limit, lead}\),\(i, limit, lead\) 是数位 dp 的套路,\(t\) ...

  9. Vulhub 漏洞学习之:Aria2

    Vulhub 漏洞学习之:Aria2 目录 Vulhub 漏洞学习之:Aria2 1 Aria2 任意文件写入漏洞 1.1 漏洞利用 1 Aria2 任意文件写入漏洞 Aria2是一个命令行下轻量级. ...

  10. vue2和vue3区别

    1. vue2和vue3双向数据绑定原理发生了改变 vue2的双向数据绑定是利用了es5 的一个API Object.definepropert() 对数据进行劫持 结合发布订阅模式来实现的.vue3 ...