MySQL字符集与乱码问题浅析

数据库 MySQL 数据库运维
我们在开发中经常用到MySQL的字符集,这也是产生乱码的一个主要原因,本文简单分析MySQL字符集与数据库操作中的乱码问题间的关系。

关于MySQL字符集的种类有很多,对编程有影响的主要是客户端字符集和数据库字符集。

数据库中常用的操作就是保存数据和读取数据,在这过程中,乱不乱码和MySQL字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时选择的字符集一致,即只需保证两次操作的客户端MySQL字符集一致即可。

客户端字符集的设置,依据客户端不同方法不同:

1. 使用控制台连接,在my.ini文件中的client项里面设置;

2. 使用ems连接,优先使用ems连接配置的字符集,默认使用my.ini文件中的设置;

3. jdbc连接,在连接串中指定:

  1. jdbc:mysql://192.168.3.99:3306/test?useUnicode=true& ;characterEncoding=gbk 

在写入时Mysq会将客户端指定的字符集转换成数据库字符集存入数据文件,读取时又将数据库字符集转换成客户端指定的字符集展示给客户端,把客户端字符集和数据库字符设置一致,显而易见的好处是免掉转换的性能损耗;另外,如果考虑到以后数据库的迁移,将数据库字符集设置为大多数数据库都支持的字符集会省掉很大麻烦。

几个字符集相关的命令:

1. 查看 MySQL 数据库服务器字符集,数据库字符集和客户端字符集

  1. show variables like '%char%'

◆character_set_client,客户端字符集

◆character_set_database,数据库字符集

◆character_set_server,服务器字符集

2. 查看 MySQL字符集的数据表(table)

  1. show table status from tablename like '%countries%';   

3. 查看 MySQL字符集的 数据列(column)。

  1. show full columns from tablename;   

4. 查看当前安装的 MySQL 所支持的字符集。

【编辑推荐】

  1. 关于MySQL字符集架构的思考
  2. 小谈MySQL字符集
  3. 如何对MySQL数据库表进行锁定
  4. 如何修复MySQL数据库表
  5. MySQL新特性之复制特性的测试(1)
责任编辑:冰荷 来源: ctocio
相关推荐

2011-05-16 13:15:55

MySQL存储字符集

2010-04-22 09:08:30

Oracle 8i

2010-04-30 10:16:22

Oracle字符集

2010-06-11 16:46:20

MySQL5

2011-04-07 15:58:59

MySQL字符集乱码

2010-05-17 10:01:09

MySql字符集

2010-04-21 16:07:16

Oracle 8i

2010-06-02 17:59:19

MySQL字符集

2010-05-05 17:29:40

Oracle 8i

2018-01-11 11:45:00

数据库MySQL字符集

2010-06-07 16:09:58

MySQL字符集

2010-06-13 10:06:05

MySQL4.1.7

2020-12-16 06:34:16

MySQL字符集服务器

2010-10-09 10:57:22

MySQL默认字符集

2021-03-23 18:21:30

MySQL数据库字符集

2010-11-01 15:44:45

DB2字符集

2009-11-30 12:58:04

PHP字符集编码

2010-06-13 16:17:26

MySQL改变字符集

2009-02-24 10:51:30

2011-04-11 11:05:12

Oracle字符集
点赞
收藏

51CTO技术栈公众号