MySQL关于character_set 设置为uft8问题
时间:2022-07-24
本文章向大家介绍MySQL关于character_set 设置为uft8问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
MySQL中使用中文时,你得改下字符集,不然会乱码。
目录
1. MySQL中有关character_set变量的含义
2. 使用命令设置character_set
3. 修改配置文件永久修改character_set
1
MySQL中有关character变量
在MySQL中有关character_set变量总共8个,分别代表以下含义:
#客户端连接时,由客户端发送给server端设置
character_set_client
#客户端连接时,由客户端发送给server端设置
character_set_connection
# 当前所在的数据库字符集,如果没有切换到其他数据库,则character_set_database显示的和character_set_server一致。
character_set_database
#把os上文件名转化成此字符集,即把 character_set_client转换character_set_filesystem,默认binary是不做任何转换的
character_set_filesystem
#客户端连接时,服务器返回给客户端的结果字符集
character_set_results
#数据库字符集
character_set_server
#只读数据不能更改变,
character_set_system
# 一个目录而已
character_sets_dir
总的来说:
- character_set_server 与character_set_database 设置服务器端的字符集,并且character_set_database 会慢慢在8.0之后的版本去掉。
- character_set_client character_set_connection character_set_results这3个参数值是由客户端每次连接进来设置的,和服务器端没关系。从实际上可以看到,当客户端连接服务器的时候,它会将自己想要的字符集名称发给mysql服务器,然后服务器就会使用这个字符集去设置character_set_client character_set_connection character_set_results这三个值。如cmd是用gbk,而SQLyog是用utf8,navicat 是utfmb4. 注意:mysql的utf8不是真正的utf8,是一个伪UTF8,utf8mb4才是真正的utf8,建议使用utf8mb4。
win10 下普通cmd,默认是GBK
在显示 utf8中文数据时会乱码,但是你用cmd告诉MySQL服务器器我使用的是GBK,你要给我返回GBK数据就可以正常显示了,如下图。这也是为什么PHP,Java,Python等编程连接数据库时都要指定数据库的结果集。
2
使用命令设置character_set
使用命令设置可以实现,但是当数据库重启时,失效。
#设置返回时的结果集
set character_set_results = gbk;
set character_set_database=utf8;
set character_set_server=utf8;
3
修改配置文件永久修改character_set
windows下修改my.ini,一般存放路径C:ProgramDataMySQLMySQL Server 5.7;
Linux下 修改my.cnf,一般存放路径:/etc/mysql/
修改内容如下,附加的形式:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
【福利 资源 !!!】,关注公众号回复 mysql,获取MySQL 5.7 从入门到精通
END
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 搞它!!!Linux常用命令合集
- 搞它!!!深入了解安装及管理程序,学会使用rpm工具 虚拟机实验下载安装Apache
- (转)java中equals和等号(==)的区别浅谈
- 搞它!!!linux账号和权限管理
- 搞它!!!详细介绍linux磁盘管理和文件系统
- 详谈JAVA中的file类与IO流
- Java中的StringTokenizer类
- 搞它!!!Linux系统安全及应用以弱口令检测
- 搞它!!!linux配置本地yum源
- JAVA网络编程TCP通信
- 使用ExecutorService实现线程池
- 搞它!!!linux服务器硬件及RAID 配置实战
- 认识XML
- 基于oracle的sql(结构化查询语言)指令
- oracle约束条件