说错了!说错了!
不是取不出来。而是取出来以后用
if (str1.compareTo("1")==0)
str1="111";
out.println(str1);
比较,比较不生效。就是说数据库中数据明明是char型的“1”,但结果中输出的还是"1",不是"111"
不是取不出来。而是取出来以后用
if (str1.compareTo("1")==0)
str1="111";
out.println(str1);
比较,比较不生效。就是说数据库中数据明明是char型的“1”,但结果中输出的还是"1",不是"111"
解决方案 »
- 求解 为何textarea中数据不能保存 但是能从数据库中读
- spring 3, JSON 出错
- 好几天了,还是不行求救!!!!!!!!!!
- 该怎么学习Java架构
- 怎么让SQL2000自动启动
- 有谁做新闻发布系统在发布新闻的时候,新闻内容是主持word排版格式的。急!!!
- jsp怎么读取硬盘的剩余空间?
- 请大家帮忙!怎么实现从客户端浏览器界面实现从dbf或者access数据库向服务器进行导数据?说说原理,有源代码更好!
- 在jsp中怎么样使用事务,送大分公一定
- 急求bootstrap动态级联
- 关于JDBC 连接数据库的奇怪问题?求救?
- JSP简单问题!!!!!!! 急??????????在线等待。。。。。。。
str1="111";
out.println(str1);
String str1=rs.getString(char字段)
if (str1.equals("1"))
str1="111";
out.println(str1);
if(str1.compareTo("1")==0)
str1="111";
System.out.println(str1);我刚试过,没有问题。
如果Jsp设置字符集为"GBK",使用compareTo函数比较是没有问题的。但是如果
字符集设置为"GB2312"再使用compareTo函数就会有问题。
这是因为:
compareTo实现是直接使用Char来进行比较的:
char c1 = v1[k];
char c2 = v2[k];
当Java使用GB2312编码时,一个对汉字所获取到的Char值却是不规则的,即一个汉字在Java中作为一个char来处理(双字节字符)时,将这样的双字节字符进行强制转换成int类型时,所得到的不是包含了汉字编码顺序的中文内码。
即采用"GB2312"的java的汉字char(两个byte)->int类型的转换会发生很大偏差。而失去了汉字原本在GBK规范当中,按内码排列好的顺序。
而采用"GBK"的java汉字从一个汉字拆分成2个字节的byte[]时,所得到的值并没有打乱GBK编码规定的顺序。
补位的