教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql服务器字符集查询和设置方法

mysql服务器字符集查询和设置方法

发布时间:2023-05-02   编辑:jiaochengji.com
教程集为您提供mysql服务器字符集查询和设置方法等资源,欢迎您收藏本站,我们将为您提供最新的mysql服务器字符集查询和设置方法资源
在mysql中如果我们出现乱码了可以查询字符集编码得到更快的解决办法,当然我们也可以直接设置MySQL 字符集,如果MySQL 字符集设置不当就会出现乱码了,下面我来给大家介绍mysql服务器字符集查询和设置方法


1、查看 MySQL 数据库服务器和数据库字符集

show variables like '%char%';

2、查看当前安装的 MySQL 所支持的字符集。

show charset;

3、设置编码:

修改my.cnf
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8

保存,重启mysql即可;

 
修改数据库的字符集
mysql>use mydb
mysql>alter database mydb character set utf-8(utf8);
创建数据库指定数据库的字符集
mysql>create database mydb character set utf-8(utf8);

或者用mysql命令修改编码

通过MySQL命令行修改:
set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_database=utf8;

set character_set_results=utf8;

set character_set_server=utf8;

set character_set_system=utf8;

set collation_connection=utf8;

set collation_database=utf8;

set collation_server=utf8;


mysql修改表、字段字符集

把表默认的字符集和所有字符列(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 Server收到请求时将请求数据从character_set_client转换为character_set_connection;

2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:

• 使用每个数据字段的CHARACTER SET设定值;

• 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);

• 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;

• 若上述值不存在,则使用character_set_server设定值。

3. 将操作结果从内部操作字符集转换为character_set_results。


其他注意事项

• my.cnf中的default_character_set设置只影响mysql命令连接服务器时的连接字符集,不会对使用libmysqlclient库的应用程序产生任何作用!

• 对字段进行的SQL函数操作通常都是以内部操作字符集进行的,不受连接字符集设置的影响。

您可能感兴趣的文章:
mysql服务器字符集查询和设置方法
有关mysql字符集设定的知识总结
Mysql字符集设置详解
查询mysql编码以及解决mysql乱码问题
mysql字符集编码设置与查看命令
linux下mysql默认字符集、默认数据库引擎的修改方法
安装连接mysql的工具Navicat 出现1044/1045错误的解决方法
mysql主从配置教程及容错方案详解
mysql字符编码设置问题
mysql字符集设置经验技巧

[关闭]
~ ~