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

Mysql中文乱码问题的小结

概述:
1.乱码问题归根到底是字符集的问题,那就从字符集设置方面考虑,不外乎下面几方面:
  server(Mysql服务器),client,database(数据库),connection(连接),result
  MySQL的字符集处理是这样的:
 (1)发送请求
      客户端(character_set_client)=》数据库连接(character_set_connection)=》存储数据库(table,column)
 (2)返回请求
      存储数据库(table,column)=》数据库连接(character_set_connection )=》客户端(character_set_results)在每一个非初始节点,都会做一次从上一个结点到当前节点的字符集转换操作。
2.MySQL中默认字符集的设置有四级:服务器级,数据库级,表级,字段级
设置步骤:
1.修改Mysql服务器的默认字符编码(Mysql安装目录下的my.ini文件)
  CLIENT SECTION中设置default-character-set=utf8
  SERVER SECTION中设置default-character-set=utf8
  在Mysql命令行输入\s,查看Mysql服务器信息,其中有:
  Server characterset:utf8
  Db     characterset:utf8
  Client characterset:utf8
  Conn.  characterset:utf8
  设置成功。
2.新建数据库、表、字段都会使用默认编码
3.页面编码采用与数据库相同编码(utf-8)
  这样就不会出现乱码的情况了。
4.如果数据库编码和页面编码不一致时,那么在连接数据库时要指定与页面一致的编码方式,有两种方式:
  mysql_set_charset(string charset,[link_identifier]):首选方式
  mysql_query("SET NAMES 'charset'"):不推荐使用
  mysql_set_charset() 比 mysql_query("SET NAMES 'XXX'")多了一个设置,就是把struct MySQL的charset成员也设置了。这个成员变量在escape的时候起着很重要的作用,特别是对于GBK这种运行把“”作为字符一部分的编码格式。如果你只使用mysql_query(”set names XXX”),那么在某些字符集,会有重大的安全漏洞,导致mysql_real_escape_string变得和addslashes一样不安全。
5.另外要注意的是页面文件编码方式与页面头部的meta信息中的charset一定要保持一致,这是最基本的设置。


相关文档:

MySQL 字符串函数:字符串截取

截取province字符串中第一个<br>前的字符串~!
update lcjd
set  `province` = substring_index( `province` , '<br>', '1' );
在需要添加‘0’的位置添加一个‘0’
update lcjd
set lc_name2 = concat('0', lc_name2)
WHERE length(lc_name2) = 3
http://www.sqlstudy.com/s ......

mysql alter 语句用法,添加、修改、删除字段等


//主键
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列
alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';
//删除列
alter table t2 drop column c;
//重命名列
......

Mysql limit用法

1.SELECT
 
*
 
from
 
table
 LIMIT
1
,
20
;  
//
 检索记录行
2-21
   第一个参数:查询起始行(从0开始)
   第二个参数:查询几条记录
2.
SELECT
 
*
 
from
 
table
 LIMIT
5
,
-
1

//
&nbs ......

用python连接mysql数据库


#
-*- encoding: gb2312 -*-
import
os, sys, string
import
MySQLdb
#
连接数据库
try
:
conn
=
MySQLdb.connect(host
=
'
localhost
'
,user
=
'
root
'
,passwd
=
'
xxxx
'
,db
=
'
test1
'
)
except
Exception, e:
print
e
sys.exit()
......

MYSQL用户权限管理(Grant,Revoke)

MySQL可以为不同的用户分配严格的、复杂的权限。这些操作大多都可以用SQL指令Grant(分配权限)和Revoke(回收权限)来实现。 Grant可以把指定的权限分配给特定的用户,如果这个用户不存在,则会创建一个用户。
 Grant 常用格式:
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 ide ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号