日期:2014-05-18  浏览次数:20795 次

base64decode转化后出现乱码的问题
昨晚在写程序的时候,碰到一个问题。
问题描述如下:
将字符串str(str=“\u99f9\u660e”)直接通过out.print(str)方法,在页面上显示的是正常的中文字;但是我将str字符串存入数据库,再取出来赋值给str,通过out.print(str)方法,显示的是“\u99f9\u660e”,而不是中文字。通过byte[]   bt   =   new   sun.misc.BASE64Decoder().decodeBuffer(str);String   str   =   new   String(bt);System.out.println(str)。显示的是乱码。如果将String   str   =   new   String(bt)这行代码修改为String   str   =   new   String(bt, "gb2312 ")或者String   str   =   new   String(bt, "GBK ")或者String   str   =   new   String(bt, "ISO-8859-1 ");也不能正常显示,显示的也是乱码。

不知道是哪里出了问题?


------解决方案--------------------
http://community.csdn.net/Expert/topic/5709/5709224.xml?temp=.3585474
------解决方案--------------------
String a = "\u554a ";
out.print(a);

直接显示就可以