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表示降序排列
......
1.在系统中导入一下source
SetCharacterEncodingFilter.java
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses ......
1 前言
为了使软件开发过程有章可循,保证软件质量,加强开发管理。
2 开发管理
项目进度周报表格如下:
项目编号:
汇报人:
汇报日期:
项目进度详细描述:
其他问题:
3 项目周期
司项目开发周期分为以下几个步骤:
步骤 说明 参与角色 生成文档或程序(打*号为可选)
可行 ......
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 {
/**
* 删除文件
......
原文传送门:http://solodu.javaeye.com/blog/454546
JDK1.5中,String类新增了一个很有用的静态方法String.format():现有一个时间'20090903'要转化成指定时间的java.util.Date格式
private Date getStartGregorianTime(String date) {
Date d_date = DateUtil.parseDate(date);
int year = new ......