我试了好多次,中文输出来的全是乱码啊?
大家帮帮忙~!! 非常感谢!
16 个解决方案
#1
乱码转一下不行吗?
Clob c = (Clob)从数据库获取
// Clob to String 转换
String text = ……;
text = new String(text.getBytes("ISO8859_1"),"GBK");
输出 text;
Clob c = (Clob)从数据库获取
// Clob to String 转换
String text = ……;
text = new String(text.getBytes("ISO8859_1"),"GBK");
输出 text;
#2
我试过,但是不行啊
#3
看看你的代码
你是怎么转的?
你是怎么转的?
#4
跟你的一模一样啊
#5
String str= new String(从数据库获取的数据.getBytes("ISO8859_1"),"GBK");
跟上面的一样啊,但是不行
这些方法都试过了
.getBytes("unicode"),"GBK");
都不行啊
跟上面的一样啊,但是不行
这些方法都试过了
.getBytes("unicode"),"GBK");
都不行啊
#6
建议楼主检查一下数据库底层的数据类型
#7
数据库底层的数据类型就是ntext类型的啊
如果是用vchar 类型存放 取出来就肯定不会中文乱码了啊
如果是用vchar 类型存放 取出来就肯定不会中文乱码了啊
#8
看下数据库你取的字段的数据类型...
#9
取的字段的数据类型当然是String类型的啊
#10
该字段类型换成 varchar
#11
但是我现在考虑的就是怎么将ntext类型的中文输出到页面
#12
发现好多乱码的问题这里引用我刚才回答的来给你做一个参考
归集了我工作和实践,或者是自我学习的过程,
大部分情况,当然,遇到的页面,也就是前台很少有问题,大部分都是后台处理
第一:数据库字符集,也就是你这里用到的SQL,看是不是和前台一致,具体的,你可以上网查查,有很多方法,用命令行,SHOW VARIABLES LIKE 'character%';或者是直接查看文件里面的一个设置,也就是一个my.ini,
http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html这里说得比较详细,你可以看看,
第二:也就是后台处理,字符是否在后台就是得到的是?,这样存到数据库当中当然是以这样的形式来存进去的,这里可以用字符转换,建议可以设置一个断点就能够看到,
第三:有人还说是tomcat里面设置转换问题,这个也可以到网上看看,具体的我想我给你说了,也讲不了那么清楚,其实这里一般没有问题,就是上面两个,
第四:也就是一般不可能的,网页上的处理,还有就是设置一些拦截,或者是转换之类的,包括web.xml配置,包括做一个filter之类的
最后说说,数据操作,不外乎这两三中,前台到后台,后台到前台,一般都是这样的,所以数据处理也就是这里可能出现问题,所以你可以针对的去检查一下,这里给你说了这么多,呵呵,不知道能否、榜上忙,希望你解决,谢谢
归集了我工作和实践,或者是自我学习的过程,
大部分情况,当然,遇到的页面,也就是前台很少有问题,大部分都是后台处理
第一:数据库字符集,也就是你这里用到的SQL,看是不是和前台一致,具体的,你可以上网查查,有很多方法,用命令行,SHOW VARIABLES LIKE 'character%';或者是直接查看文件里面的一个设置,也就是一个my.ini,
http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html这里说得比较详细,你可以看看,
第二:也就是后台处理,字符是否在后台就是得到的是?,这样存到数据库当中当然是以这样的形式来存进去的,这里可以用字符转换,建议可以设置一个断点就能够看到,
第三:有人还说是tomcat里面设置转换问题,这个也可以到网上看看,具体的我想我给你说了,也讲不了那么清楚,其实这里一般没有问题,就是上面两个,
第四:也就是一般不可能的,网页上的处理,还有就是设置一些拦截,或者是转换之类的,包括web.xml配置,包括做一个filter之类的
最后说说,数据操作,不外乎这两三中,前台到后台,后台到前台,一般都是这样的,所以数据处理也就是这里可能出现问题,所以你可以针对的去检查一下,这里给你说了这么多,呵呵,不知道能否、榜上忙,希望你解决,谢谢
#13
非常感谢!
#14
补充一下 用到的数据库是sql server
数据库里的数据也全是手动插入的 因此不会存在说是存进去的
时候就已经乱码了 问题就是再取这些数据的时候
中文都会变成乱码
数据库里的数据也全是手动插入的 因此不会存在说是存进去的
时候就已经乱码了 问题就是再取这些数据的时候
中文都会变成乱码
#15
第一:
你取出这个数据的时候,你就单独的取出一条数据,看的到的system.out.println是不是乱码,如果是,就在这里转换一下,再打,
其实你这个不是特别复杂,所以这个方法够用,
第二:如果这里不是,那就是从后台到前台,你就用request,或者respons,的setEncoding来试试,
设断点哦,多调试一下,肯定一会儿就解决了
你取出这个数据的时候,你就单独的取出一条数据,看的到的system.out.println是不是乱码,如果是,就在这里转换一下,再打,
其实你这个不是特别复杂,所以这个方法够用,
第二:如果这里不是,那就是从后台到前台,你就用request,或者respons,的setEncoding来试试,
设断点哦,多调试一下,肯定一会儿就解决了
#16
同样的问题,我也想在不把数据类型ntext转换的前提下解决中文乱码……坐等高人(附带说明,用自写的方法GBK没用,那个只适用于jsp页面与页面之间以及页面与servlet之间,这个估计涉及到数据库里面的问题,不懂……)
#1
乱码转一下不行吗?
Clob c = (Clob)从数据库获取
// Clob to String 转换
String text = ……;
text = new String(text.getBytes("ISO8859_1"),"GBK");
输出 text;
Clob c = (Clob)从数据库获取
// Clob to String 转换
String text = ……;
text = new String(text.getBytes("ISO8859_1"),"GBK");
输出 text;
#2
我试过,但是不行啊
#3
看看你的代码
你是怎么转的?
你是怎么转的?
#4
跟你的一模一样啊
#5
String str= new String(从数据库获取的数据.getBytes("ISO8859_1"),"GBK");
跟上面的一样啊,但是不行
这些方法都试过了
.getBytes("unicode"),"GBK");
都不行啊
跟上面的一样啊,但是不行
这些方法都试过了
.getBytes("unicode"),"GBK");
都不行啊
#6
建议楼主检查一下数据库底层的数据类型
#7
数据库底层的数据类型就是ntext类型的啊
如果是用vchar 类型存放 取出来就肯定不会中文乱码了啊
如果是用vchar 类型存放 取出来就肯定不会中文乱码了啊
#8
看下数据库你取的字段的数据类型...
#9
取的字段的数据类型当然是String类型的啊
#10
该字段类型换成 varchar
#11
但是我现在考虑的就是怎么将ntext类型的中文输出到页面
#12
发现好多乱码的问题这里引用我刚才回答的来给你做一个参考
归集了我工作和实践,或者是自我学习的过程,
大部分情况,当然,遇到的页面,也就是前台很少有问题,大部分都是后台处理
第一:数据库字符集,也就是你这里用到的SQL,看是不是和前台一致,具体的,你可以上网查查,有很多方法,用命令行,SHOW VARIABLES LIKE 'character%';或者是直接查看文件里面的一个设置,也就是一个my.ini,
http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html这里说得比较详细,你可以看看,
第二:也就是后台处理,字符是否在后台就是得到的是?,这样存到数据库当中当然是以这样的形式来存进去的,这里可以用字符转换,建议可以设置一个断点就能够看到,
第三:有人还说是tomcat里面设置转换问题,这个也可以到网上看看,具体的我想我给你说了,也讲不了那么清楚,其实这里一般没有问题,就是上面两个,
第四:也就是一般不可能的,网页上的处理,还有就是设置一些拦截,或者是转换之类的,包括web.xml配置,包括做一个filter之类的
最后说说,数据操作,不外乎这两三中,前台到后台,后台到前台,一般都是这样的,所以数据处理也就是这里可能出现问题,所以你可以针对的去检查一下,这里给你说了这么多,呵呵,不知道能否、榜上忙,希望你解决,谢谢
归集了我工作和实践,或者是自我学习的过程,
大部分情况,当然,遇到的页面,也就是前台很少有问题,大部分都是后台处理
第一:数据库字符集,也就是你这里用到的SQL,看是不是和前台一致,具体的,你可以上网查查,有很多方法,用命令行,SHOW VARIABLES LIKE 'character%';或者是直接查看文件里面的一个设置,也就是一个my.ini,
http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html这里说得比较详细,你可以看看,
第二:也就是后台处理,字符是否在后台就是得到的是?,这样存到数据库当中当然是以这样的形式来存进去的,这里可以用字符转换,建议可以设置一个断点就能够看到,
第三:有人还说是tomcat里面设置转换问题,这个也可以到网上看看,具体的我想我给你说了,也讲不了那么清楚,其实这里一般没有问题,就是上面两个,
第四:也就是一般不可能的,网页上的处理,还有就是设置一些拦截,或者是转换之类的,包括web.xml配置,包括做一个filter之类的
最后说说,数据操作,不外乎这两三中,前台到后台,后台到前台,一般都是这样的,所以数据处理也就是这里可能出现问题,所以你可以针对的去检查一下,这里给你说了这么多,呵呵,不知道能否、榜上忙,希望你解决,谢谢
#13
非常感谢!
#14
补充一下 用到的数据库是sql server
数据库里的数据也全是手动插入的 因此不会存在说是存进去的
时候就已经乱码了 问题就是再取这些数据的时候
中文都会变成乱码
数据库里的数据也全是手动插入的 因此不会存在说是存进去的
时候就已经乱码了 问题就是再取这些数据的时候
中文都会变成乱码
#15
第一:
你取出这个数据的时候,你就单独的取出一条数据,看的到的system.out.println是不是乱码,如果是,就在这里转换一下,再打,
其实你这个不是特别复杂,所以这个方法够用,
第二:如果这里不是,那就是从后台到前台,你就用request,或者respons,的setEncoding来试试,
设断点哦,多调试一下,肯定一会儿就解决了
你取出这个数据的时候,你就单独的取出一条数据,看的到的system.out.println是不是乱码,如果是,就在这里转换一下,再打,
其实你这个不是特别复杂,所以这个方法够用,
第二:如果这里不是,那就是从后台到前台,你就用request,或者respons,的setEncoding来试试,
设断点哦,多调试一下,肯定一会儿就解决了
#16
同样的问题,我也想在不把数据类型ntext转换的前提下解决中文乱码……坐等高人(附带说明,用自写的方法GBK没用,那个只适用于jsp页面与页面之间以及页面与servlet之间,这个估计涉及到数据库里面的问题,不懂……)