mysql怎么设置成utf-8编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么设置成utf-8编码相关的知识,希望对你有一定的参考价值。

检查当前数据库编码。
  使用语句:
  show variables like ‘%character%’;
  show variables like’%collation%’;
  

  如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
  如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

  如果没有该程序,需要手动修改mysql编码。
  1、 编辑MySql的配置文件
  MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
  
  --在 [mysqld] 标签下加上以下内容:
  default-character-set = utf8
  character_set_server = utf8
  注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
  --在 [mysql] 标签下加上一行
  default-character-set = utf8
  
  --在 [mysql.server]标签下加上一行
  default-character-set = utf8
  
  --在 [mysqld_safe]标签下加上一行
  default-character-set = utf8
  
  --在 [client]标签下加上一行
  default-character-set = utf8
  
  2、 重新启动MySql服务
  Windows可在服务管理器中操作,也可使用命令行:
  net stop mysql 回车
  net start mysql 回车
  服务名可能不一定为mysql,请按自己的设置
  
  Linux下面可是用 service mysql restart
  
  如果出现启动失败,请检查配置文件有没有设置错误
  
  3、 查看设置结果
登录MySql命令行客户端:打开命令行
  mysql –uroot –p 回车
  输入密码
  进入mysql后 执行 :show variables like "% character %";

  
  另外:
  
  建立数据库时可以使用以下命令:
  create database app_relation character set utf8;
  use app_relation;
  source app_relation.sql;
  修改数据库编码的命令为:
  alter database app_relation character set utf8;
参考技术A 检查当前数据库编码。
使用语句:
show variables like ‘%character%’;
show variables like’%collation%’;

如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

如果没有该程序,需要手动修改mysql编码。
1、 编辑MySql的配置文件
MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf

--在 [mysqld] 标签下加上以下内容:
default-character-set = utf8
character_set_server = utf8
注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
--在 [mysql] 标签下加上一行
default-character-set = utf8

--在 [mysql.server]标签下加上一行
default-character-set = utf8

--在 [mysqld_safe]标签下加上一行
default-character-set = utf8

--在 [client]标签下加上一行
default-character-set = utf8

2、 重新启动MySql服务
Windows可在服务管理器中操作,也可使用命令行:
net stop mysql 回车
net start mysql 回车
服务名可能不一定为mysql,请按自己的设置

Linux下面可是用 service mysql restart

如果出现启动失败,请检查配置文件有没有设置错误

3、 查看设置结果
登录MySql命令行客户端:打开命令行
mysql –uroot –p 回车
输入密码
进入mysql后 执行 :show variables like "% character %";

另外:

建立数据库时可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改数据库编码的命令为:
alter database app_relation character set utf8;本回答被提问者采纳
参考技术B  检查当前数据库编码。
  使用语句:
  show variables like ‘%character%’;
  show variables like’%collation%’;
  

  如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:
  如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

  如果没有该程序,需要手动修改mysql编码。
  1、 编辑MySql的配置文件
  MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
  
  --在 [mysqld] 标签下加上以下内容:
  default-character-set = utf8
  character_set_server = utf8
  注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。
  --在 [mysql] 标签下加上一行
  default-character-set = utf8
  
  --在 [mysql.server]标签下加上一行
  default-character-set = utf8
  
  --在 [mysqld_safe]标签下加上一行
  default-character-set = utf8
  
  --在 [client]标签下加上一行
  default-character-set = utf8
  
  2、 重新启动MySql服务
  Windows可在服务管理器中操作,也可使用命令行:
  net stop mysql 回车
  net start mysql 回车
  服务名可能不一定为mysql,请按自己的设置
  
  Linux下面可是用 service mysql restart
  
  如果出现启动失败,请检查配置文件有没有设置错误
  
  3、 查看设置结果
登录MySql命令行客户端:打开命令行
  mysql –uroot –p 回车
  输入密码
  进入mysql后 执行 :show variables like "% character %";

  
  另外:
  
  建立数据库时可以使用以下命令:
  create database app_relation character set utf8;
  use app_relation;
  source app_relation.sql;
  修改数据库编码的命令为:
  alter database app_relation character set utf8;
参考技术C

    管理员登录:mysql -uroot -p123456;

    查看现有字符集:

        SHOW VARIABLES LIKE 'character%';

   3.设置字符集:

    SET character_set_client = utf8;
    SET character_set_results = utf8;
    SET character_set_connection = utf8;

参考技术D 你要是用一个可视化操作的界面就简单了,就比如navicat for mysql右键数据库-->数据库属性--->字符集--->utf-8 unicode /排序规则--->utf8-gernal-ci就行了

如何mysql 5.7的编码设置成utf8mb4

整理 MySQL 8.0 文档时发现一个变更:
默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。
当时的需求背景是:
部分系统使用的字符集是 utf8,但 utf8 最多只能存 3 字节长度的字符,不能存放 4 字节的生僻字或者表情符号,因此打算迁移到 utf8mb4。
迁移方案一1. 准备新的数据库实例,修改以下参数:[mysqld]## Character Settingsinit_connect='SET NAMES utf8mb4'#连接建立时执行设置的语句,对super权限用户无效character-set-server = utf8mb4collation-server = utf8mb4_general_ci#设置服务端校验规则,如果字符串需要区分大小写,设置为utf8mb4_binskip-character-set-client-handshake#忽略应用连接自己设置的字符编码,保持与全局设置一致## Innodb Settingsinnodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_file_per_table = 1innodb_large_prefix = ON#允许索引的最大字节数为3072(不开启则最大为767字节,对于类似varchar(255)字段的索引会有问题,因为255*4大于767)

2. 停止应用,观察,确认不再有数据写入
可通过 show master status 观察 GTID 或者 binlog position,没有变化则没有写入。
3. 导出数据
先导出表结构:mysqldump -u -p --no-data --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases testdb > /backup/testdb.sql
后导出数据:mysqldump -u -p --no-create-info --master-data=2 --flush-logs --routines --events --triggers --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --database testdb > /backup/testdata.sql

4. 修改建表语句
修改导出的表结构文件,将表、列定义中的 utf8 改为 utf8mb4
5. 导入数据
先导入表结构:mysql -u -p testdb < /backup/testdb.sql
后导入数据:mysql -u -p testdb < /backup/testdata.sql

6. 建用户
查出旧环境的数据库用户,在新数据库中创建
7. 修改新数据库端口,启动应用进行测试
关闭旧数据库,修改新数据库端口重启,启动应用
参考技术A 1、首先是安装mysql数据库,win的直接上网搜一下教程。
2、如果是linux的,就输入以下的命令:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
还需要设置用户名和密码,这里就不多介绍了,以下显示均在win下,笔者用的是集成环境

3、接着敲入SHOW
VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name
LIKE 'collation%';这段代码,可以直接复制粘贴,会得到如下图(utf8mb4必须msql5.5以上版本才能修改)

我这里的mysql配置文件是my.ini,也许有人的是mysqld.cnf,找到配置文件,在里面添加如下语句:
[client]
default-character-set = utf8mb4
[mysql]default-character-set = utf8mb4
[mysqld]character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
由于我本地有 [mysqld]和[client]就在下方直接填写,没有的朋友需要自己手动创建

4、接着重启MYSQL数据库
5、再次进入数据库以后,输入SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';这时你就会发现的你字符集已经改变了本回答被提问者采纳

以上是关于mysql怎么设置成utf-8编码的主要内容,如果未能解决你的问题,请参考以下文章

java 如何设置文件流的编码格式代码如下, 我设置后还是SJIS格式的.我想问下怎么改能设置成utf-8

怎么把UTF-8编码的文本批量改成ANSI啊!!!!!!!!!?

HTML页面为啥设置了UTF-8仍然中文乱码

MySQL设置默认编码集为utf8怎么设置

mysql出现乱码

用dbvis 工具连接mysql 数据库 怎么设置编码格式