MySql以前用过,不过再次使用的时候,还是各种问题不顺手,做个log吧。。。

字符集设置

关于字符集介绍在mysql参考手册上讲解比较详细,主要可以参考以下查询命令。

--查看支持的字符集设置show character set;

--查看字符集设置相关变量show variables like 'character_%';

--查看索引字符集设置show variables like 'collation_%';

在安装数据库时设置的那个字符集实际上是设置的 character_% 中的大部分变量的默认变量,也就是C:\Program Files\MySQL\MySQL Server 5.5\my.ini 中的

default-character-set 变量,网上说可以直接改my.ini文件,但是在Win7下我试过很多次都没有成功。。。(停了服务貌似也没用)

还可以用下面语句单独设置,不过比较费事了

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;

有个简单的,下面一句等同于上面的第1、2、4行。

set names utf8;

上面变量的含义,我闹的不是很清楚,给篇博客供参考吧:

说说我这次的配置和经验吧,安装的时候设的是utf8,由于cmd的字符集是gbk(可以在属性中查看),用了 set names gbk 后,可以正常的插入、查询表。在用下面语句导入数据的时候,数据文件仍然需要使用utf8编码的,Java程序连接显示都正常。其他的情况因为懒,就不试了。

--从数据文件导入数据load data local infile 'D:\data.txt' into person;

对字符集相关,再给两篇博客:

最后给出mysql参考手册相关下载

CHM下载后无法使用解决方法

稍微跑个题,我在CSDN下载好多次CHM文件都没法使用,点击菜单都显示无法连接的错误,还以为是资源下载错误或者作者资源上传错误,下好多遍也是这样,太郁闷了。后来一找发现有解决方案,人懒就是不能成事啊。。。

一.常见问题:

问题1:当chm文件的路径中含有“#”“%”等字符时,chm文件能够打开,但是却无法正常看到内容“显示无法显示网页

原因是:打开chm文件,相当于输入一条包含文件路径的命令行语句并执行。当路径中插入“#”“%”等字符后,将使命令行的语义发生变化,导致无法正常使用chm,而此时系统又不会有

出错的提示,所以很多人被困扰了。

解决办法:删除路径中的特殊字符。

问题2:安装微软的安全更新 896358 或 890175 后,该补丁对chm的itss协议做了限制。有的chm使用了该协议,所以导致chm无法显示。

解决办法:可以修改注册表、修改安全级别、改itss.dll(这个是听说的);或者最简便的办法:右键点chm—>选属性—>选解除锁定

二.总述问题

问题症状:打开CHM文件,左边目录齐全,可右边边框里却是无法显示网页。

解决方法:

方法一:修改注册表

1)新建一个文本文件

2)添加如下内容:

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000003

另存为HTMLHelp.reg(或其它名称,只要是reg格式就行)

3)双击刚刚新建的reg文件,将它导入注册表,OK,问题搞定

不过这种方法不安全,因为它将将浏览区域等级调整为3了,存在安全隐患,故不推荐。

方法二:查找目录名称是否有问题,目录名称中有 "#" 字符,去掉有 CHM 文件就显示正常了

方法三:有时候如果CHM是中文也会打不开,改成英文字符试验下。

方法四.:双击此 .chm 文件, 在“打开文件安全警告”对话框,单击以清除“打开此文件前

始终询问”复选框。

方法五: 右键单击该 CHM 文件,然后单击“属性”, 单击“解除锁定”,. 双击此 .chm

文件以打开此文件。

有问题还是查查的比较好,数据挖掘能力有待加强啊!!

Java代码示例

下面是Java通过JDBC连接数据的一个示例,供以后参考:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class SqlConnect {
String user = "root";
String password = "root";
String url = "jdbc:mysql://localhost:3306/person_manage";
String driver = "com.mysql.jdbc.Driver";
String tableName = "person";
Connection con = null;
Statement stmt = null;
public SqlConnect() {
init();
}
public void init() {
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
stmt = con.createStatement();
} catch(Exception ex) {
ex.printStackTrace();
}
}
public int insert(String[] vals) {
String sqlstr = "insert into "+tableName+" values ('" + vals[0] +
"','" + vals[1] + "','" + vals[2] + "','" + vals[3] + "');";
int ret = 0;
try {
ret = stmt.executeUpdate(sqlstr);
} catch (SQLException e) {
e.printStackTrace();
}
return ret;
}
public ArrayList query(String[] conds) {
ResultSet rs = null;
ArrayList ret = new ArrayList();
String name = conds[0];
String age = conds[1];
String sql = "select * from "+tableName;
if(name.equals("") && !age.equals(""))
sql = sql+" where age='"+age+"'";
else if(!name.equals("") && age.equals(""))
sql = sql+" where name='"+name+"'";
else if(!name.equals("") && !age.equals(""))
sql = sql+" where age='"+age+"' and name='"+name+"'";
sql = sql+";";
try {
rs = stmt.executeQuery(sql);
while(rs.next()) {
String[] r = new String[4];
r[0] = ""+rs.getInt("id");
r[1] = rs.getString("name");
r[2] = rs.getString("sex");
r[3] = ""+rs.getInt("age");
ret.add(r);
}
rs.close();
} catch(Exception ex) {
ex.printStackTrace();
}
return ret;
}
public void close() {
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}