设置MYSQL数据库编码为UTF-8

本文介绍如何检查及设置MySQL数据库的UTF-8编码,包括通过配置文件调整和服务重启等步骤,并提供了命令示例。

一、检查当前数据库编码。


使用语句:


show variables like ‘%character%’;


show variables like’%collation%’;


mysql各个编码应该如下图。






二、如果不是以上情况,需要将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 %";
显示结果应该类似如下:


 


| character_set_client | utf8 |


| character_set_connection | utf8 |


| character_set_database | utf8 |


| character_set_results | utf8 |


| character_set_server | utf8 |


| character_set_system | utf8 |


| character_sets_dir | /usr/share/mysql/charsets/ |


 


如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置:


set character_set_client = utf8;


set character_set_server = utf8;


set character_set_connection = utf8;


set character_set_database = utf8;


set character_set_results = utf8;


set collation_connection = utf8_general_ci;


set collation_database = utf8_general_ci;


set collation_server = utf8_general_ci;


 


 


 


另外:


 


建立数据库时可以使用以下命令:


create database app_relation character set utf8; 


use app_relation;


source app_relation.sql;


修改数据库编码的命令为:


alter database app_relation character set utf8; 

### 在Linux系统中设置编码UTF-8的方法 在Linux系统中,可以通过多种方式确保系统的编码设置UTF-8。以下是一些常见的方法和配置指南: #### 1. 检查当前系统编码 可以使用`locale`命令或者`echo $LANG`来检查当前的系统编码。如果输出显示为`zh_CN.UTF-8`或类似的UTF-8编码,则说明系统已经配置为UTF-8[^1]。 ```bash locale echo $LANG ``` #### 2. 修改全局编码 若需要修改全局编码UTF-8,可以编辑`/etc/locale.conf`文件,将`LANG`变量设置为`zh_CN.UTF-8`或其他支持UTF-8的值。完成后,重启系统以使更改生效[^1]。 ```bash sudo nano /etc/locale.conf # 将文件内容修改为: LANG=zh_CN.UTF-8 ``` #### 3. 生成支持的locale 如果系统中尚未生成所需的UTF-8 locale,可以使用`locale-gen`命令生成。例如,生成`zh_CN.UTF-8` locale: ```bash sudo locale-gen zh_CN.UTF-8 sudo update-locale LANG=zh_CN.UTF-8 ``` #### 4. 转换文件编码 对于需要转换编码的文件,可以使用`iconv`工具将文件从其他编码转换为UTF-8。例如,将GBK编码的文件转换为UTF-8: ```bash iconv -f GBK -t UTF-8 inputfile > outputfile ``` 此命令会将`inputfile`的内容从GBK编码转换为UTF-8编码,并保存到`outputfile`中[^2]。 #### 5. 设置MySQL数据库编码UTF-8 如果需要确保MySQL数据库也使用UTF-8编码,可以通过以下SQL语句进行设置: ```sql SET character_set_client = utf8; SET character_set_server = utf8; SET character_set_connection = utf8; SET character_set_database = utf8; SET character_set_results = utf8; SET collation_connection = utf8_general_ci; SET collation_database = utf8_general_ci; SET collation_server = utf8_general_ci; ``` 此外,也可以在MySQL配置文件`my.cnf`中添加相关配置[^5]。 ```ini [client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci ``` #### 6. 验证编码设置 完成上述步骤后,可以通过以下命令验证系统是否已成功设置UTF-8: ```bash locale cat /etc/locale.conf ``` 如果输出显示UTF-8相关的编码,则说明设置成功。 ```python print("System encoding set to UTF-8 successfully") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值