JCaiBird wrote:
都快把我搞傻了,都!~ 我试了所有的法子都搞不定~
//麻烦看看这段代码会输出什么
import java.io.*;
public class x{
public static String UnicodeToGb(String s) {
String ss = null;
try{
ss = new String(s.getBytes("UTF-8"),"GBK");
}catch(UnsupportedEncodingException e){
}
return ss;
}
public static void main(String[] args){
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
}
}
你需要搞清楚的问题:
1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。
<code>
import java.io.*;
public class TestUnicode
{
public static String UnicodeToGb(String s)
{
String ss = null;
try
{
ss = new String(s.getBytes("UTF-8"),"GBK");
}
catch(UnsupportedEncodingException e)
{
e.getMessage();
}
return ss;
}
public static void main(String[] args)
{
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
try
{
String outUTF=new String(UnicodeToGb(outStr).getBytes("GBK"),"UTF-8");
System.out.println(outUTF);
}
catch(Exception e)
{
e.getMessage();
}
}
}
</code>
how about this??
in fact, i really want to know what is your purpose for this??
this change has nothing meaning!!
asiainfo wrote:
你需要搞清楚的问题:
1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。
谢谢楼上各位的热心帮助!~~~
的确是自己搞错了outStr的编码,经过修改终于可以正常显示了!~~
public static String ChangeCharset(String s) {
String ss = null;
try{
byte[] bytes=s.getBytes("ISO-8859-1");
ss = new String(bytes,"GBK");
} catch(UnsupportedEncodingException e){
}
return ss;
}
都快把我搞傻了,都!~ 我试了所有的法子都搞不定~
//麻烦看看这段代码会输出什么
import java.io.*;
public class x{
public static String UnicodeToGb(String s) {
String ss = null;
try{
ss = new String(s.getBytes("UTF-8"),"GBK");
}catch(UnsupportedEncodingException e){
}
return ss;
}
public static void main(String[] args){
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
}
}
你需要搞清楚的问题:
1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。
<code>
import java.io.*;
public class TestUnicode
{
public static String UnicodeToGb(String s)
{
String ss = null;
try
{
ss = new String(s.getBytes("UTF-8"),"GBK");
}
catch(UnsupportedEncodingException e)
{
e.getMessage();
}
return ss;
}
public static void main(String[] args)
{
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
try
{
String outUTF=new String(UnicodeToGb(outStr).getBytes("GBK"),"UTF-8");
System.out.println(outUTF);
}
catch(Exception e)
{
e.getMessage();
}
}
}
</code>
how about this??
in fact, i really want to know what is your purpose for this??
this change has nothing meaning!!
asiainfo wrote:
你需要搞清楚的问题:
1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。
谢谢楼上各位的热心帮助!~~~
的确是自己搞错了outStr的编码,经过修改终于可以正常显示了!~~
public static String ChangeCharset(String s) {
String ss = null;
try{
byte[] bytes=s.getBytes("ISO-8859-1");
ss = new String(bytes,"GBK");
} catch(UnsupportedEncodingException e){
}
return ss;
}