下面是一个简单的例子,注意一下例子中的文字本身的编码,最好在自己的环境中用gb2312重新输入,不然可能是乱码。当然转换后输出肯定有一个是乱码,也肯能都是乱码。根据你的编辑器的编码格式有关。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class EncodingTest
{
public static void main(String[] args)
{
try
{
String gb = new String("国标2312".getBytes(),"gb2312")
System.out.println(gb)
byte [] b = gb.getBytes("gb2312")
String ios = new String(b,"ISO-8859-1")
System.out.println(ios)
} catch (UnsupportedEncodingException e)
{
e.printStackTrace()
}
}
}
不知道你例子的乱码是不是真的在传输中出现的值,如果是的话你可以试试下面的代码String str=new String(你的乱码字符 . getByte("iso-8859-1") , "UTF-8")看看能不能转换回来,这是我在JSP页面传值过程中使用的方法