mysql中文排序及java中文排序
之所以写这篇博客,是因为前几天才碰到了这么一个问题,以前还不知道mysql有这么一个问题。
我们的系统使用了struts+hibernate,数据库使用的是mysql,字符集统一为utf-8。
本来已经完成了,但是系统使用的时候,发现查出来的人名没有顺序,本来以为很简单,在查询的时候,指定按照name排序就可以了,岂知实际一做才发现问题:mysql数据库使用字符集为utf-8,查询出来的中文根本不是按照拼音排序的。
我的解决方案大致是:
①
在
sql
语句中做手脚,在查询的时候排序。
②
如果不行查询出来,在程序中,自己写个方法排序。
③
最差的解决办法就是修
改
name
字段,字符集使用gbk(或gb2312)
显然,第一种方法是最高效的,第三中方法是最差劲的。
不能直接在程序中改,先做几个试验:
试验一:mysql中文排序
准备工作:
在mysql中建立一个数据库,就使用test吧,建两个表test1和test2,均设置两个字段,id和name,要求是test1.name这个字段使用的字符集为UTF-8,test2.name这个字段使用的字符集为GBK,输入几条数据,记得要输入中文啊。
建表语句:
(1)test1:
CREATE TABLE `test1`
(
`id` int(4) unsigned NOT NULL
auto_increment,
`name` varchar(20) character set utf8 default NULL,
PRIMARY KEY
(`id`)
) ;
(2)test2:
CREATE TABLE `test2`
( &n
相关文档:
第一种 自身类作为事件监听器
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*Java事件处理机制:自身类作为事件监听器
*@author Winty(wintys@gmail.com)
*@version 2008-12-3
*/
class ThisClassEvent extends JFrame implements ActionListener{
JButton btn;
public ......
现在我们一起来看看,用Java如何操作Microsoft Word。
jacob,官网是http://danadler.com/jacob 这是一个开源的工具。最新版本1.7
官方的解释是:The JACOB Project: A JAva-COM Bridge
这是官方对下载文件的说明:
jacob.jar: a ......
这里有一个MSWordManager 类,是jacob官方发布的工具类,里面有大多数Java操作MS Office的工具。
package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
im ......
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class DealFile {
/**
* 删除文件
......
我非常幸运能浏览这篇对所有(基本上是全部) Java 开源报表的 Tools. 摘自:http://www.open-open.com/19.htm
Openreports
OpenReports提供基于web
的灵活报表解决方案,通过浏览器自动生成动态PDF, XLS, HTML, CSV和Chart报表。利用到的开源技术有Hibernate, Veloctiy, Webwork。
更多Openreports信息
JFr ......