易截截图软件、单文件、免安装、纯绿色、仅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一定要保持一致,这是最基本的设置。


相关文档:

Java 把文本中的数据插入到MySql数据库

一共有三个类:WriteFile ; ReadFile ; InsertDB ;
//WriteFile.java
//用于将信息写入文本文件
package org.mb.insertfromfile;
import java.io.*;
public class WriteFile{
private int count = 0 ;
public int getCount() {
return count;
}
public void setCount(int count) {
this.cou ......

用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()
......

gwt ext 连接MySql数据库

该连接方式采用RPC来返回数据库查询结果。
1.首先是创建普通的GWT-EXT工程。可以参考1http://www.ibm.com/developerworks/cn/java/j-lo-gwtext1/#resources
    系列 入 门  教程。具体通讯过程服务也可参考上述的最后部分说明。
2. 接下来就是要创建GWT Remote Service了,在原有工程上new-&g ......

Ubuntu下出现Mysql error(2002)的解决方法

      过了一阵子后,为了写分布式作业,重新使用Mysql时,发现虽然启动成功了,但是连接的时候去出现如下错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
根据提示是/var/run/mysqld/mysqld.sock文件不存在。
为什么会这样呢?
  ......

MySQL事务处理

START TRANSACTION, COMMIT和ROLLBACK语法
START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}
START
TRANSACTION或BEGIN语句可以开始一项新的事务。COMMIT可以提交当前事务,是变更成为永久变更。ROLLBACK ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号