查看修改mysql编码方式让它支持中文(gbk或者utf8)

yizhihongxing

要将MySQL编码方式修改为支持中文,需要开发人员做如下操作:

1. 确定当前MySQL服务器默认编码方式

首先需要确定当前MySQL服务器默认编码方式,可以输入以下命令查看:

mysql> SHOW VARIABLES LIKE 'character_set_%';

执行上述命令后可以看到一系列的字符编码,其中比较重要的有:

  • character_set_client: 客户端连接MySQL服务器时使用的默认字符集
  • character_set_connection: MySQL服务器与客户端连接时使用的默认字符集
  • character_set_database: 当前数据库的默认字符集
  • character_set_results: 查询结果集的字符集

如果上述字符集还没有被设置为 utf8gbk,就需要修改MySQL服务器的配置文件,指定需要的字符集。

2. 修改MySQL服务器配置文件

在对应的MySQL服务器配置文件中,可以设置以下几个字符编码相关参数:

[client]
default-character-set = utf8

[mysqld]
init_connect='SET NAMES utf8’
character-set-server = utf8
collation-server = utf8_general_ci

其中:

  • character-set-server 参数设置了MySQL服务器默认使用的字符集
  • collation-server 参数设置比较规范化的字符,防止数据崩溃
  • init_connect 参数设置了默认连接MySQL服务器时,会调用 SET NAMES 设置数据库的字符集

修改完成后,需要重启MySQL服务器,使配置生效。

3. 转换数据库中表的字符集

目前的编码方式是在新建数据库和表时自动设置的,因此在修改编码方式后,需要手动修改已生成的数据库与表。

可以使用 ALTER TABLE 命令将数据库中所有表的编码方式都改成 utf8,使用方法如下:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

其中 table_name 为需要转换的表名。

如果只是想修改数据库的字符集,可以使用以下命令:

ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

其中 database_name 为需要修改的数据库名。

示例

示例一:将数据库字符集修改为 gbk

  • 确认当前MySQL服务器字符集:SHOW VARIABLES LIKE 'character_set_%';
  • 修改MySQL配置文件 /etc/mysql/my.cnf
[mysqld]
init_connect='SET NAMES gbk'
character-set-server = gbk
collation-server = gbk_chinese_ci
  • 重启MySQL服务器:sudo service mysql restart
  • 修改数据库字符集:ALTER DATABASE database_name CHARACTER SET gbk COLLATE gbk_chinese_ci;

示例二:将表字符集修改为 utf8

  • 确认当前MySQL服务器字符集:SHOW VARIABLES LIKE 'character_set_%';
  • 修改MySQL配置文件 /etc/mysql/my.cnf
[mysqld]
init_connect='SET NAMES utf8'
character-set-server = utf8
collation-server = utf8_general_ci
  • 重启MySQL服务器:sudo service mysql restart
  • 修改表的字符集:ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:查看修改mysql编码方式让它支持中文(gbk或者utf8) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Oracle VM VirtualBox虚拟机的安装使用图文教程

    Oracle VM VirtualBox虚拟机的安装使用 本文将详细介绍如何安装和使用Oracle VM VirtualBox虚拟机。 安装Oracle VM VirtualBox 首先,打开Oracle VM VirtualBox官网,下载与您的操作系统相应的版本。 下载完成后,运行安装程序,按照提示进行安装。 安装完成后,打开Oracle VM Virt…

    database 2023年5月21日
    00
  • mysql 动态执行存储过程语句

    MySQL 支持使用 PREPARE STATEMENT 和 EXECUTE STATEMENT 命令动态执行存储过程语句,具体操作步骤如下: 创建存储过程 首先,我们需要先创建一个包含动态 SQL 的存储过程,如下所示: CREATE PROCEDURE dynamic_query(IN col_name VARCHAR(64)) BEGIN DECLAR…

    database 2023年5月22日
    00
  • mySQL 延迟 查询主表

    关于 “mySQL 延迟 查询主表”的完整攻略,我可以这样来讲解: 什么是“mySQL 延迟 查询主表”? 对于MySQL数据库中的查询操作,我们通常会需要对多个表进行关联查询。而在关联查询中,如果某个表非常大,可能会导致查询时间非常长,性能也会受到很大的影响。因此,为了提高查询效率,我们可以采用“mySQL 延迟 查询主表”的策略。 所谓“mySQL 延迟…

    database 2023年5月22日
    00
  • sql语句中临时表使用实例详解

    SQL语句中临时表使用实例详解 在SQL中,临时表可以帮助我们处理一些复杂的查询,同时避免繁琐的多表查询或者嵌套查询。 创建临时表 创建临时表使用CREATE TEMPORARY TABLE语句。下面是一个示例: CREATE TEMPORARY TABLE temp_table ( id INT NOT NULL, name VARCHAR(50) NOT…

    database 2023年5月21日
    00
  • Python的Tornado框架实现异步非阻塞访问数据库的示例

    下面我将对如何使用Python的Tornado框架实现异步非阻塞访问数据库进行详细讲解。 什么是Tornado框架? Tornado是一个Python的Web框架和异步网络库,它最初由Facebook开发,用于其内部服务,现在已成为Python开源社区的一个流行的Web框架之一。Tornado通过使用异步非阻塞I/O来实现高性能的Web服务。 如何使用Tor…

    database 2023年5月22日
    00
  • 白嫖一个月的ES,完成了与MySQL的联动

    前言 《腾讯云 x Elasticsearch三周年》活动来了。文章写之前的思路是:在腾讯云服务器使用docker搭建ES。但是理想很丰满,显示很骨感,在操作过程中一波三折,最后还是含着泪美滋滋地,白嫖了一个月的腾讯云ES服务。 最后就是利用腾讯云的Elasticsearch和Kibana,和我在腾讯云服务器上搭建MySQL进行了一波联动,完成了数据库内部指…

    2023年4月8日
    00
  • RDBMS和OODBMS的对比区别

    RDBMS和OODBMS都是数据库管理系统的一种,但两者之间有很多不同之处。 RDBMS(关系型数据库管理系统) RDBMS是一个基于关系模型的数据库管理系统,通常使用SQL(结构化查询语言)来管理和处理数据。以下是RDBMS的一些主要特点: 数据的存储方式:数据以表格的形式存储,每个表格都有一个唯一的表头,用于区分不同的表格。数据的行称为记录,每个记录都以…

    database 2023年3月27日
    00
  • redis的分布式锁工具LockUtil

    /** * 基于redis的分布式锁工具 * * @author yuyufeng * */ public class LockUtil { // 获取redis static JedisPool jedisPool; static { JedisPoolConfig config = new JedisPoolConfig(); config.setMax…

    Redis 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部