一个wap的网站
计划是每个页面显示300个字符,用substring这个函数来完成截取字符串的功能。可是有的页面最后一个字(中文)被拆分成了两个问号,分别显示在前一个页的末尾,和后一个页的开头。
我做过多次的试验,用substring截取字符串,无论是中文的,英文的,中英文混合的,甚至再混合上标点符号的,都能正常截取。后来我想可能是转义符的问题,又试了一下,发现如果是"\n"就没问题"\r"就不能正常截取,于是把字符串里的"\r"都replace成"\n",可是还是不行,没辙了。
希望各位前辈高人指教。
计划是每个页面显示300个字符,用substring这个函数来完成截取字符串的功能。可是有的页面最后一个字(中文)被拆分成了两个问号,分别显示在前一个页的末尾,和后一个页的开头。
我做过多次的试验,用substring截取字符串,无论是中文的,英文的,中英文混合的,甚至再混合上标点符号的,都能正常截取。后来我想可能是转义符的问题,又试了一下,发现如果是"\n"就没问题"\r"就不能正常截取,于是把字符串里的"\r"都replace成"\n",可是还是不行,没辙了。
希望各位前辈高人指教。
if(s.charAt(i) >= '\u4E00' && s.charAt(i) <= '\uFA29')
{
System.out.println("是汉字");
}
<%
final static int cntCharPerPage=300; //一页的最大内容数String info=null;
int cnoffset=cntpg*cntCharPerPage;
int cnPages=0;
info=cnt.getInfo();
cnPages=info.length()/cntCharPerPage+(info.length()%cntCharPerPage==0?0:1);info=info.substring(cnoffset,(cnoffset+cntCharPerPage)<info.length()?(cnoffset+cntCharPerPage):info.length());
if(!cnt.isLowInfo())info=new String((StrConvertor.ConvertToXml(info)).getBytes("ISO-8859-1"),"GBK");%>
StrConvertor的ConvertToXml函数代码如下:
public static String ConvertToXml(String string)
{
string = string.replaceAll("&", "&");
string = string.replaceAll(">", ">");
string = string.replaceAll("<", "<");
string = string.replaceAll("'", "'");
string = string.replaceAll("\"", """);
string = string.replaceAll("\r\n", "\n");
string = string.replaceAll("\n", "<br/>\r\n");
return string;
}