LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 780|回复: 2

字符串长度问题。

[复制链接]
发表于 2005-2-2 17:10:45 | 显示全部楼层 |阅读模式
public class  test
{
        public static void main(String[] args)
        {
                String a="中国";
                               System.out.print(a.length());
        }
}
我命令行下 用javac 编译 用 java 运行后  为2
但是在jsp网页中得到值为4
这样一来,截字,就容易出现 只有半个汉字的现象了,

求救,是不是只有我的计算机是这样?
配置: Apache/2.0.52 (Win32) PHP/5.0.3 Resin/3.0.10 Server at localhost Port 80
    jdk 1.5
发表于 2005-2-2 19:56:17 | 显示全部楼层
会这样吗???你真会开玩笑。。。jsp首先会转换java文件,然后编译成class
我特地试一下,自己看看图中的结果
[PHP]

<%@page pageEncoding="UTF-8"%>
<%
String a="中国";
out.println(a.substring(1));
out.println("string len#"+a.length());
%>


[/PHP]
java程序。。。
Test.java
[PHP]
class Test{
public Test(){}
public final static void main(String args[]){
                                                                                
String a="中国";
System.out.println(a.substring(1));
System.out.println("string len#"+a.length());
}
                                                                                
}

[/PHP]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-3 12:50:54 | 显示全部楼层
谢谢,问题已解决,是字符集的问题。 使用 gb2312 字符集 “中国” 认为是2个字符,但使用jsp网页默认的ISO-8859-1字符集,则为4个字符。我的测试页面没有类似<%@page pageEncoding="UTF-8"%> 的声明。用javac时调用的是系统默认的字符集。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表