当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL字符集:怎样才能保证不发生乱码

MYSQL
MySQL 实用命令
Mysql 默认字符集设置方法(免安装版)
MySQL 数据库对服务器端光标的限制
MySQL UPDATE更新语句精解
Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
mysql 读写分离(基础篇)
mysql 读写分离(实战篇)
processlist命令 查看mysql 线程
MySQL 数据类型 大全
MySQL 密码设置
MYSQL代码 定期备份Mysql数据库
汇总整理MYSQL相关操作命令
MySQL 数据库两台主机同步实战(linux)
MSSQL 添加字段说明
MySQL 查询某个字段不重复的所有记录
mysql 设置默认的时间值
mysqlreport显示Com_中change_db占用比例高的问题的解决方法
解决mysql不能插入中文Incorrect string value
mysql从执行.sql文件时处理\n换行的问题
mysql 主从服务器的简单配置

MYSQL 中的 MySQL字符集:怎样才能保证不发生乱码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 82 ::
收藏到网摘: n/a

数据库中关于字符集的种类有很多,对编程有影响的主要是客户端字符集和数据库字符集(还有一个服务器字符集,不知道干什么用的)。

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

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

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

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

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

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

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

几个字符集相关的命令:

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

show variables like '%char%';

character_set_client,客户端字符集

character_set_database,数据库字符集

character_set_server,服务器字符集

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

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

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

show full columns from tablename;

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

show char set;