%A0%D0%BB%CC转化为GB2312编码
%A0%D0%BB%CC 转化成 GBK
请高手帮忙!
请给出具体的代码!!!!!
问题点数:20、回复次数:8Top
1 楼allenhe(考一级去)回复于 2005-04-09 22:47:24 得分 8
URLDecoderTop
2 楼hongyan2004(spring+hibernate)回复于 2005-04-09 22:52:15 得分 1
查询:
new String(rst.getString(2).getBytes("ISO-8859-1"),"gb2312");
提交:
sqlstr = new String(sqlstr.getBytes("gb2312"),"ISO8859-1");
Top
3 楼hainang1234(海浪)回复于 2005-04-10 00:37:24 得分 5
没JAVA环境,写了个C#代码,将就看一下思路吧:
//////////////////////////////////////////////////////
String str = "%A0%D0%BB%CC";
//将字符串通过"%"截取为字符串数组
String[] strArr = str.Split(new char[]{'%'});
//输出结果的字符串
String strResult = "";
byte[] buffer = new byte[strArr.Length];
for (int i=0; i<strArr.Length; i++)
{
//如果为空,继续
if (strArr[i].Equals(""))
{
continue;
}
int iRe = Conv(strArr[i]);
char ch = (char)iRe;
String str = new String(new char[]{ch});
strResult += str;
}
//输出结果
MessageBox.Show(strResult);
/// <summary>
/// 从十六进制的字符串转化成10进制int输出
/// </summary>
private int Conv(String str)
{
str = str.ToLower();
int j = 0, all = 0;
for (int i=(str.Length-1); i>=0; i--)
{
int iRe=0;
char ch = str[i];
if ((ch >= 'a') && (ch <= 'f'))
{
iRe = (ch - 'a') + 10;
}
else
{
iRe = int.Parse(new String(new char[]{ch}));
}
all = iRe*(int)(Math.Pow(16, j));
j++;
}
return all;
}Top
4 楼yang8210(yang)回复于 2005-04-10 13:11:58 得分 0
hainang1234(鼠·神·泪) 很强嘛
谢谢,有没有更好的方法!Top
5 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-10 13:16:30 得分 5
String str = "%A0%D0%BB%CC";
String result=URLDecodeer.decode(str,"UTF-8");
其实这个是URL编码,如果有中文一般都是使用UTF--8转回来Top
6 楼yang8210(yang)回复于 2005-04-10 23:41:12 得分 0
明天结贴,欢迎各位高手发表意见!!!Top
7 楼shhhl(内裤超人)回复于 2005-04-11 09:22:34 得分 1
在页面前面声明编码格式为gb2312就会自动转换Top
8 楼yang8210(yang)回复于 2005-04-14 23:30:50 得分 0
不好意思,好久没有上网了,结贴了Top




