|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
发信人: lovef1y (阿菜(是菜鸟的菜,不是菜刀的菜!!)), 信区: Java
标 题: 我是这样解决全角半角问题的
发信站: BBS 水木清华站 (Mon Jun 24 12:02:48 2002)
从数据库里面读取到数据,想显示前100个字,考虑用String.substring(0,200);
但是如果这100个字里面
有半角的字(比如1,a等),就麻烦了。
我是这样解决全角半角问题的。
写一个toGB(String str)函数,如果toGB(String str)里面的str不能正常转化成
gb2312的字符串,
那么显示为空白,toGB(String str).length()为0
假如想返回前100个字,
这样就可以考虑用toGB(String.substring(0,200));
然后判断toGB().length()是否是0,如果是0,则substring(0,200-1);
<% //-------整个程序如下---------%>
- <%!public static String toGB(String str){
- try{
- str=new String(str.getBytes("ISO8859_1"),("GB2312"));
- return str;
- }
- catch(Exception e){
- return null;
- }
- }
- //-----------------------------------------------------------------
- //.......
- //和数据库的连接
- //.......
- String content;
- content=rs.getString("content");
- int Ccount;
- if((Ccount=content.length())>200){
- Ccount=200;
- }
- if(toGB(content.substring(0,Ccount)).length()==0){
- content=content.substring(0,Ccount-1);
- }else{
- content=content.substring(0,Ccount);
- }
- out.print(toGB(content));
- %>
复制代码
-- |
|