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
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
目前要找个免费的java空间不容易啊,大部分都是php asp的,推荐大家一个非常棒的免费java服务器,google的appengine 还能免费创建域名。比如我的woyaopipi, 后缀自动变成woyaopipi.appspot.com,这个平台好处就是google的服务器,性能可想而知,还提供了memcache内存缓存,持久化数据库只需要将java bean persisten一 ......
JDK1.5中,String类新增了一个很有用的静态方法String.format():
format(Locale l, String format, Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字符串。
举几个这个方法实用的例子(注释是输出结果) ......
我非常幸运能浏览这篇对所有(基本上是全部) Java 开源报表的 Tools. 摘自:http://www.open-open.com/19.htm
Openreports
OpenReports提供基于web
的灵活报表解决方案,通过浏览器自动生成动态PDF, XLS, HTML, CSV和Chart报表。利用到的开源技术有Hibernate, Veloctiy, Webwork。
更多Openreports信息
JFr ......