你需要知道是哪个字符编码集, 比如utf-8, 或者gb2312.
如果用iso-8859-1存储的, 想转换为GB2312, 可以用如下方法:
String s = new String( originalS.getBytes( "ISO-8859-1" ), "GB2312" );
如果用iso-8859-1存储的, 想转换为GB2312, 可以用如下方法:
String s = new String( originalS.getBytes( "ISO-8859-1" ), "GB2312" );
解决方案 »
- 有关抽象类的简单问题
- java能不能编写带界面的访问本地目录的程序?
- commons-fileupload组件上传问题
- 问一下,关于GUI的问题
- JTable + Vector 问题! 谢谢帮忙解决哈!!!
- 初学 java reference 机制
- DefaultTableCellRenderer的问题
- 怎样通过反射获得一个类的属性值或者方法返回值
- 在jsp中插入的applet怎么显示不了?(在jbuilder中运行)
- Java超級菜鳥---如何學好Java??
- 如何对应用程序创建运行配置(在Jbuilder中)?(初学JAVA,谢谢)
- 如何使用正则表达式——把html文件中的图片都加上一个前缀?
//名称:ChangeCode
//功能:转换指定字符串的字符集(字符编码)
//输入:strSource: 要转换的字符串; strCodeFrom: 源字符集; strCodeTo: 目的字符集
//输出:
//返回:转换之后的字符串
//***************************************************
public String ChangeCode(String strSource, String strCodeFrom, String strCodeTo)
{
byte[] baTemp = null;
try
{
baTemp = strSource.getBytes (strCodeFrom);
strSource = new String (baTemp,strCodeTo);
}
catch (Exception e)
{
return (e.toString ());
} return (strSource);
}String strSQL = "中华人民共和国";
strSQL = ChangeCode (strSQL, "8859_1", "cp850");
可能是太智能了,:)
一般到了程序里都是utf-8了
int l= str.length();
buf = new byte[l];
str.getBytes(0, l, buf, 0);和构造Stringnew String(,0)
一般最好用大字符集GBK。