易截截图软件、单文件、免安装、纯绿色、仅160KB

闻名遐迩的MySQL乱码问题

闻名遐迩的MySQL乱码问题(转)
2009-06-07 11:22
一、概述
  公司新购了一批PC,准备把几个性能较优的PC升级为数据库服务器,替换老旧的机器。公司有套POS终端软件,后台数据存储是 MySQL 3.23 版。我准备硬件升级的同时升级数据库软件。但是升级过程中遇到闻名的 MySQL 的乱码问题。经过查找资料,加上自己的摸索和经验,终于完美地解决这个问题。
  MySQL 的乱码问题(不仅仅包括中文乱码,也包括其它语言的乱码,以下称之为乱码问题)只存在于4.1及其以上版本。4.1之前的 MySQL 不支持多语言,所以它会将你给它的数据“原封不动”地保存,再“原封不动”地读出来。从字节的角度来看,数据在这一过程中不会产生任何变化,因此不会有乱 码。
  4.1及以后的版本开始支持多语言,这个所谓的多语言,就是在输入输出时 MySQL 会替你做编码转换。而这个转换规则就是由客户端编码和服务器端编码来决定的。
  编码转换的规则就是,在输入数据时将编码由“客户端编码”转换为“服务器端编码”,输出时将数据由“服务器端编码”转换为“客户端编码”。 
   二、乱码产生原因
  MySQL 字符编码是版本4.1引入的,支持多国语言,而且一些特性已经超过了其它大多数数据库管理系统。正因为这一特性才导致 MySQL 的乱码问题。
  字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。让我们使用一个假想字符集的例子来区别清楚。
  假设我们有一个字母表使用了四个字母:‘A’、‘B’、‘a’、‘b’。我们为每个字母赋予一个数值:‘A’=0,‘B’= 1,‘a’= 2,‘b’= 3。字母‘A’是一个符号,数字0是‘A’的编码,这四个字母和它们的编码组合在一起是一个字符集。
  假设我们希望比较两个字符串的值(在if……else语句中我们经常做值的比较):‘A’和‘B’。比较的最简单的方法是查找编码:‘A’为 0,‘B’为1。因为0 小于1,我们可以说‘A’小于‘B’。我们做的仅仅是在我们的字符集上应用了一个校对规则。校对规则是一套规则(在这种情况下仅仅是一套规则):“对编码 进行比较。”我们称这种全部可能的规则中的最简单的校对规则为一个binary(二


相关文档:

mysql的slow query中的一个现象

在mysql的slow query log中,可能存在类似这样的特殊记录:
# Time: 100127 23:17:01
# User@Host: root[root] @  [127.0.0.1]
# Query_time: 18446744073709.351562  Lock_time: 0.000129 Rows_sent: 1  Rows_examined: 11030
SET timestamp=1264663021;
SELECT dummy.id AS dummy_id
from dummy&nbs ......

MySQL 关于OpenSSL证书支持检查方式

1、mysql编译参数:
#cat /usr/local/mysql/bin/mysqlbug|grep configure
# This is set by configure
CONFIGURE_LINE="./configure '--prefix=/usr/local/mysql' '--with-openssl' '--enable-thread-safe-client' '--enable-local-infile' '--with-charset=gbk' '-with-extra-charsets=gb2312,gbk'"
表示编译中支持ope ......

mysql 关键字 key的转义


关键字: key字段是mysql里面的关键字
insert into app(name,created,key,secret,masterSecret) values ('aa',null,null,null,null);
因为这里的key字段是mysql的关键字,所以一直插不进去。
修改如下:在key的头上加上两点(反引号,它在键盘的~这个键上)。即可搞定
 
sql建表如下:
Java代码
CREATE T ......

mysql数据的导入和导出

MySQL导入导出.sql文件步骤如下:
一.MySQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MySQL的安装路径。
二.简单的介绍一下命令行进入MySQL的方法:
1.C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码。这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号