高分求救!http post请求体中的汉字是怎么编码的??又怎么获得汉字的utf-8编码?? Java默认是UTF-8编码的,你可以在页面上加上<%@ page contentType="text/html;charset=gb2312"%>,这样页面就会以GB2312编码的方式传送POST中的参数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我必须在java应用程序中发出http post 请求,也就是手工写http协议的body部分。只能自己转化,不能指望浏览器 java应用程序中的编码默认是unicode,只要把编码从unicode转化为utf-8就是了,有固定的转化格式private static String chHz(char c){ //得到汉字的utf-8编码,在这里从unicode向utf-8转化 String ret=""; int n=(int)c; if(n<0x80) { ret+=Integer.toHexString(n); }else if(n<0x800){ ret+="%"+Integer.toHexString((0xC0 | n>>6)).toUpperCase(); ret+="%"+Integer.toHexString((0x80 | n & 0x3F)).toUpperCase(); }else if(n<0x10000){ ret+="%"+Integer.toHexString(0xE0 | n>>12).toUpperCase(); ret+="%"+Integer.toHexString(0x80 | n>>6 & 0x3F).toUpperCase(); ret+="%"+Integer.toHexString(0x80 | n & 0x3F).toUpperCase(); }else if(n<0x200000){ ret+="%"+Integer.toHexString(0xF0 | n>>1).toUpperCase(); ret+="%"+Integer.toHexString(0x80 | n>>12 & 0x3F).toUpperCase(); ret+="%"+Integer.toHexString(0x80 | n>>6 & 0x3F).toUpperCase(); ret+="%"+Integer.toHexString(0x80 | n & 0x3F).toUpperCase(); } return ret; request.setContentType("text\html;charset=gb2312"); String result = java.net.URLEncoder.encode("汉字","utf-8"); zzzhc() 的直接了当, cxz7531大花猫的接近实现底层 ftpClient.storeUniqueFile 上传文件失败返回false 求高人指点!! dummy array(哑数组)是什么意思? 帮我 谢谢 拜师.顺便麻烦帮我分析下这几个语句具体含义.(详细点) 关于java跨平台原理,求助! 求:在java中能够放入可选择图标的容器是什么啊 怎么得到一个String 变量当前采用的编码方式 关于数据库连接,超级简单的. 为什么我的TableCell内容没有被格式化? 急!!!如何使用Broland Enterprise Server开发分布式应用程序 求教,如何将对象序列化为xml。 IBM面试题,关于方法的重载
private static String chHz(char c){
//得到汉字的utf-8编码,在这里从unicode向utf-8转化
String ret="";
int n=(int)c;
if(n<0x80) {
ret+=Integer.toHexString(n);
}else if(n<0x800){
ret+="%"+Integer.toHexString((0xC0 | n>>6)).toUpperCase();
ret+="%"+Integer.toHexString((0x80 | n & 0x3F)).toUpperCase();
}else if(n<0x10000){
ret+="%"+Integer.toHexString(0xE0 | n>>12).toUpperCase();
ret+="%"+Integer.toHexString(0x80 | n>>6 & 0x3F).toUpperCase();
ret+="%"+Integer.toHexString(0x80 | n & 0x3F).toUpperCase();
}else if(n<0x200000){
ret+="%"+Integer.toHexString(0xF0 | n>>1).toUpperCase();
ret+="%"+Integer.toHexString(0x80 | n>>12 & 0x3F).toUpperCase();
ret+="%"+Integer.toHexString(0x80 | n>>6 & 0x3F).toUpperCase();
ret+="%"+Integer.toHexString(0x80 | n & 0x3F).toUpperCase();
}
return ret;