找了个汉字转简拼的方法,jsp页面调用时没有问题,但是在类里面的main方法里测试就不好用,本地环境是jdk1.4+weblogin8,后来换成了jdk1.5+tomcat5.5还是不行,请高手指教,谢谢
代码:
// 汉字转简拼
public static String toJP(String c) { char[] chars = c.toCharArray(); StringBuffer sb = new StringBuffer(""); for (int i = 0; i < chars.length; i++) {
sb.append(getJP(chars[i]));
} return sb.toString().toLowerCase();
} public static String getJP(char c) {
byte[] array = new byte[2];
array = String.valueOf(c).getBytes();
if (array.length < 2)
return String.valueOf(c);
int i = (short) (array[0] - '\0' + 256) * 256
+ ((short) (array[1] - '\0' + 256));
if (i < 0xB0A1)
return String.valueOf(c);
if (i < 0xB0C5)
return "a";
if (i < 0xB2C1)
return "b";
if (i < 0xB4EE)
return "c";
if (i < 0xB6EA)
return "d";
if (i < 0xB7A2)
return "e";
if (i < 0xB8C1)
return "f";
if (i < 0xB9FE)
return "g";
if (i < 0xBBF7)
return "h";
if (i < 0xBFA6)
return "j";
if (i < 0xC0AC)
return "k";
if (i < 0xC2E8)
return "l";
if (i < 0xC4C3)
return "m";
if (i < 0xC5B6)
return "n";
if (i < 0xC5BE)
return "o";
if (i < 0xC6DA)
return "p";
if (i < 0xC8BB)
return "q";
if (i < 0xC8F6)
return "r";
if (i < 0xCBFA)
return "s";
if (i < 0xCDDA)
return "t";
if (i < 0xCEF4)
return "w";
if (i < 0xD1B9)
return "x";
if (i < 0xD4D1)
return "y";
if (i < 0xD7FA)
return "z";
return String.valueOf(c);
} public static void main(String[] args) {
System.out.println(PinYinUtil.toJP("简拼"));//简拼
}
代码:
// 汉字转简拼
public static String toJP(String c) { char[] chars = c.toCharArray(); StringBuffer sb = new StringBuffer(""); for (int i = 0; i < chars.length; i++) {
sb.append(getJP(chars[i]));
} return sb.toString().toLowerCase();
} public static String getJP(char c) {
byte[] array = new byte[2];
array = String.valueOf(c).getBytes();
if (array.length < 2)
return String.valueOf(c);
int i = (short) (array[0] - '\0' + 256) * 256
+ ((short) (array[1] - '\0' + 256));
if (i < 0xB0A1)
return String.valueOf(c);
if (i < 0xB0C5)
return "a";
if (i < 0xB2C1)
return "b";
if (i < 0xB4EE)
return "c";
if (i < 0xB6EA)
return "d";
if (i < 0xB7A2)
return "e";
if (i < 0xB8C1)
return "f";
if (i < 0xB9FE)
return "g";
if (i < 0xBBF7)
return "h";
if (i < 0xBFA6)
return "j";
if (i < 0xC0AC)
return "k";
if (i < 0xC2E8)
return "l";
if (i < 0xC4C3)
return "m";
if (i < 0xC5B6)
return "n";
if (i < 0xC5BE)
return "o";
if (i < 0xC6DA)
return "p";
if (i < 0xC8BB)
return "q";
if (i < 0xC8F6)
return "r";
if (i < 0xCBFA)
return "s";
if (i < 0xCDDA)
return "t";
if (i < 0xCEF4)
return "w";
if (i < 0xD1B9)
return "x";
if (i < 0xD4D1)
return "y";
if (i < 0xD7FA)
return "z";
return String.valueOf(c);
} public static void main(String[] args) {
System.out.println(PinYinUtil.toJP("简拼"));//简拼
}
解决方案 »
- 我使用Hirbernate的HQL语句添加后如何获取刚刚添加的ID
- ssh用tag-lib做分页问题
- jsp连接数据库的问题
- 各位帮我出个主意,很郁闷~~
- hibernate如何读取blob数据?
- 武汉开目信息技术有限责任公司无理仲裁低薪员工
- 服务器win2000server上运行jsp,应该如何配置服务器
- 如果我有很多个servlet程序,那是不是要为每个都写个<servlet>....</servlet>啊?
- 请问怎么获取当前日期,格式如:yy-mm-dd?
- JSP中如何将变量附给FORM中的项??
- Extjs4 fieldset 监听收缩和展开方法
- 各为大大,小弟想问下关于B2C商城类建站的一点小些小问题
偶试了,原因也知道了,UTF-8下不行,GBK下正常