我需要创建一个基于java的utf8编码基于规则的collator。我使用的是postgresql数据库,它的排序规则类型为en\u us.utf8,我需要在前端验证字符串数据排序。现有的java compareto()函数不能与postgresql order by使用的utf8编码一起工作。
目前,我使用的代码是
import java.lang.String;
import java.text.Collator;
import java.text.RuleBasedCollator;
import java.util.Locale;
public class CompareTo {
public static void main(String[] args) {
String str1 = "J'Nelle B. Ruscetti, PA";
String str2 = "John C. Parker, M.D.";
try {
Collator collator = new RuleBasedCollator("< a,A< \u00E1,\u00C1< b,B< c,C"
+ "< \u010d,\u010c< d,D< \u0111,\u0110< e,E"
+ "< f,F< g,G< h,H< i,I< j,J< k,K< l,L< m,M"
+ "< n,N< \u014b,\u014a< o,O< p,P< r,R< s,S"
+ "< \u0161,\u0160< t,T< \u0167,\u0166< u,U"
+ "< v,V< z,Z< \u017e,\u017d");
collator.setStrength(Collator.IDENTICAL);
if(collator.compare(str1,str2)>0){
System.out.println(collator.compare(str1,str2));
System.out.println("sorting not working");
}
else {
System.out.println(collator.compare(str1,str2));
System.out.println("sorting working");
}
}
catch (final Exception pe) {
System.out.println("failed");
}
}
}
此规则不适用于上述输入。请指导/帮助我创建一个处理utf8编码的规则,以便根据基于utf8的比较验证显示在前端的字符串数据的排序。
暂无答案!
目前还没有任何答案,快来回答吧!