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

Mysql中文乱码问题之分析

Mysql中文乱码问题
之前被mysql中总是出现中文乱码搞得云里雾里,在网上也搜了些相关资料,可结果更让我觉得字符集的转换是相当复杂,甚至有了抵触心理,不过还好在最后搜到几篇经典的文章,经过研读总算明白过来!好文章,不敢独享,现将文章稍作整理与大家分享。
字符集基本概念:
http://home.phpchina.com/space.php?uid=57965&do=blog&id=181970
 
mysql中文乱码原因剖析:
对编程有影响的主要是客户端字符集和数据库字符集,数据库中常用的操作就是保存数据和读取数据,在这个过程中,乱不乱码和数据库字符集貌似没有什么关系。我们只要保证写入时选择的字符集和读取时的选择的字符集一致,即只需保证两次操作的客户端字符集一致即可。在MySQL的客户端上执行一次查询过程一般是,在客户端的提示符后面输入一条SQL语句,回车,然后终端显示出查询的结果。这个过程中,只有终端和三个MySQL的系统变量指定了正确的字符集,才能保证我们将一个正确的SQL语句送到服务器,然后服务器返回正确的结果,并且在终端正确显示。三个MySQL的系统变量是:
1. character_set_client,终端字符集,告诉Server客户端提交的SQL语句的编码格式 
2. character_set_connection,连接字符集,是服务器翻译SQL语句时用到的编码格式
3. character_set_results,返回的结果集的字符集,是服务器返回结果集之前把结果集转换成的编码格式 。
在MySQL终端通过执行命令 show variables like ‘char%’ 可以查看这几个变量的值。这三个变量通常都设定为同一种字符集,用命令set names [charset name]就可以修改这三个变量的值。一般来说,只要你设定了能够表示你的数据的字符集,你查询的结果都可以在终端正确显示。
 
举个例子:使用的表t1是utf8编码,表中的字段c1继承了这个编码,表创建如下
mysql> create table t1 ( c1 text not null ) character set utf8;
用的字符是汉字“范”,gbk编码为B7 B6,utf8编码为E8 8C 83
用下面的SQL语句插入数据
mysql> insert into t1 values( ‘范’);
a)如果终端设置为utf8,并且执行了 set names utf8,那么插入到数据库中的就是“范”这个字的utf8编码,这个过程中MySQL不需要做编码转换。写入数据库的内容可以通过执行 select hex( c1 ) from t1 得到数据的十六进制编码来验证。
b)如果终端设置为 utf8,并且执行了set names g


相关文档:

mySql 文本字段长度

BLOB
TEXT
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。
MEDIUMBLOB
MEDIUMTEXT
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。
LONGBLOB
LONGTEXT
一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。
可通过修改php.ini文件,改变最大长度设置。
; Valid range 0 - 2147483647.  ......

Mysql 学习笔记

 显示所有数据库 show databases;
 创建数据库 create dababase stu;
 删除数据库drop database stu;
 切换到数据库use stu;
 取得当前的数据库,带()表示函数:select database();
创建表(要切换到数据库中)
mysql> create table stu_info(
   
-> stu_id int(8) ......

关于MySQL数据量增加变化不大时,一种分页的优化方案

关于分页的优化。
我们知道,在MySQL中分页很简单,直接LIMIT page_no,page_total 就可以了。
可是当记录数慢慢增大时,她就不那么好使了。
这里我们创建摘要表来记录页码和原表之间的关联。
下面为测试数据。
原表:
CREATE TABLE `t_group` (
  `id` int(11) NOT NULL auto_increment,
  `money` decim ......

Mysql文集

导入数据指定列
load data local infile 'D:\\service_func_utf8.txt' into table service_func fields terminated by '\t' (service_id, func_id1, func_id2, func_id3, func_id4, func_id5, func_id6);
MYSQL将查询结果导出到文件
select * from tablename into outfile '/tmp/test.txt';
MYSQL联合主键
create  ......

SSH+MySQL开发中的中文乱码问题

一、表单提交乱码解决方法
    表单中含有中文提交乱码,对于字母和数字则不会乱码,我选用的字符集utf-8(以下同)。
 1、在apache-tomcat-6.0.18\webapps\examples\WEB-INF\classes\filters目录下找到文件SetCharacterEncodingFilter.java 和RequestDumperFilter.java文件,并将其复制到项目src ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号