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);
直接显示就可以