前两天做了一个小转码程序测试,刚开始以为没有什么问题,但测试两次以后,发现有时最后一个字符还是乱码,又经过几次测试,发现文本字数为奇数的时候才会出现这种情况,经过一番努力,问题解决了,呵呵,虽然不是什么大问题,但是要碰到还是比较烦人的,所以现在就写出来,供大家参考。
如有问题,请发邮件:
txyhl@126.com
刚开始时是这样写的:
package test;
public class Test {
public static void main(String[] args)
{
String str = "鍝堝搱,娴嬭瘯";
try{
String str1=new String(str.getBytes("gbk"),"utf-8").toString();
System.out.println(str1);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
输出文本是:哈哈,测???
经过修改,问题解决了,修改后的程序如下:
package test;
import java.net.URLEncoder;
public class Test {
public static void main(String[] args)
{
String str = "鍝堝搱,娴嬭瘯";
try
{
URLEncoder.encode(str,"gbk");
String str1=new String(str.getBytes("gbk"),"utf-8").toString();
System.out.println(str1);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
输出结果是:哈哈,测试
测试成功,希望对大家能有所帮助