关于编码的奇怪问题,100分伺候 可能是tomcat的问题,看看out默认字符集,网上有很多讨论乱码的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看你的 浏览器->编码 是不是“西欧字符(ISO)"? Oracle中存放的是GBK是Char型,但是Java是按照流(Stream)方式来处理的,如果你没有设置流处理方式的话,他就会按照默认的处理方式进行。按照你的说法应该是你的默认字符集不是GBK了!否则不会出现这种情况。 我用System.getProperty("file.encoding")得到的值是GBK,win2k的默认语言设置是简体中文。我还要怎么检查呀? 我想可能是你的数据库里存储的时候是ISO8859-1的编码,String temp= e.toString(); //在这里temp是GBK编码,其实e应该是ISO8859temp=new String(temp.getBytes("GBK"),"ISO8859_1");//在这里把GBK转成ISO8859out.print(temp);//打印字符串出去。 那我还有疑问:1、如何判断数据库的编码方式?2、最后out.print(temp);的时候,temp应该是8859编码的,为什么能正常显示汉字? 1、如何判断数据库的编码方式?这个应该和数据库的设置有关2、最后out.print(temp);的时候,temp应该是8859编码的,为什么能正常显示汉字?你可以查一下各种编码的格式,如gbk,8859,utf等,8859编码应该是比较好的编码方式,他不会在编码过程中丢失任何信息。在你的几行程序里temp经历了一下过程:(从数据库取出的e编码未知)-->(toString() 把e按GBK解码并编码成temp)-->(在 new String()方法里把temp编码成8859)-->把temp输出如果你直接从数据库里把e取出来,按byte[]流的方式打印出来也是一样的。但是不要用任何从writer类继承出来的方法输出。他在中间会做些手脚 急!急!~~~两数组排序 怎么用knopflerfish框架开发OSGI的swing桌面应用程序?高人帮忙 关于界面问题1 [求教]关于反射中的接入 高手帮我 StreamTokenizer分割的时候能不能处理释放符?如用“:”分隔,但遇到“?:”的时候不分割,而是把这个冒号当作单词的一部分 关于值传递和引用传递的小问题 出个题目,看谁能解答 java界面控制 各位老大,JB7中,DataSet类型在哪个包中啊?我引用了半天总说不认识的类! 一个个人感觉疑惑的效率问题 字符数组的倒序的问题
String temp= e.toString(); //在这里temp是GBK编码,其实e应该是ISO8859
temp=new String(temp.getBytes("GBK"),"ISO8859_1");//在这里把GBK转成ISO8859
out.print(temp);//打印字符串出去。
1、如何判断数据库的编码方式?
2、最后out.print(temp);的时候,temp应该是8859编码的,为什么能正常显示汉字?
这个应该和数据库的设置有关2、最后out.print(temp);的时候,temp应该是8859编码的,为什么能正常显示汉字?
你可以查一下各种编码的格式,如gbk,8859,utf等,8859编码应该是比较好的编码方式,他不会在编码过程中丢失任何信息。在你的几行程序里temp经历了一下过程:
(从数据库取出的e编码未知)-->(toString() 把e按GBK解码并编码成temp)-->(在 new String()方法里把temp编码成8859)-->把temp输出如果你直接从数据库里把e取出来,按byte[]流的方式打印出来也是一样的。但是不要用任何从writer类继承出来的方法输出。他在中间会做些手脚