Java½âÎöÍøÂçÊý¾ÝÁ÷µÄÈýÖÖÌØÊâ·½·¨
Ò»¡¢UTF8ת»»³ÉGB2312
µ±ÎÒÃÇÔÚ»ùÓÚHTTPÐÒéµÄJSP»òServletµÄÓ¦ÓÃÖлñÈ¡Êý¾Ý»ò·¢ËÍÇëÇóʱ£¬JVM»á°ÑÊäË͵ÄÊý¾Ý±àÂë³ÉUTF8¸ñʽ¡£Èç¹ûÎÒÃÇÖ±½Ó´ÓHTTPÁ÷ÖÐÌáÈ¡ÖÐÎÄÊý¾Ý£¬ÌáÈ¡µÄ½á¹ûΪ“????”£¨¿ÉÄܸü¶àÎʺţ©£¬Îª×ª»»³ÉÎÒÃÇÄܹ»Àí½âµÄÖÐÎÄ×Ö·û£¬ÎÒÃÇÐèÒª°ÑUTF8ת»»³ÉGB2312£¬½èÖúISO-8859-1±ê×¼±àÂëÄܹ»ÇáÒ×µÄʵÏÖ£¬ÏÂÃæµÄ´úÂëʵÏÖÁËÕâÒ»¹¦ÄÜ£º
byte [] b;
String utf8_value;
utf8_value = request.getParameter("NAME");//´ÓHTTPÁ÷ÖÐÈ¡"NAME"µÄUTF8Êý¾Ý
b = utf8_value.getBytes("8859_1"); //ÖмäÓÃISO-8859-1¹ý¶É
String name = new String(b, "GB2312"); //ת»»³ÉGB2312×Ö·û
ʵ¼ÊÉÏ£¬¹À¼Æ»¹µÃ¿´Ò³ÃæµÄ±àÂ뷽ʽ£¬Ã»Ê±¼ä²âÊÔ....
¶þ¡¢ÔÚÖªµÀÁ÷³¤¶ÈµÄÇé¿öϽ«ÊäÈëÁ÷ת»»³É×Ö½ÚÊý×é
JavaÖеÄÊäÈëÁ÷³éÏóÀàInputStreamÓÐint read(byte[] b, int off, int len)·½·¨£¬²ÎÊýÖÐbyte[] bÊÇÓÃÀ´´æ·Å´ÓInputStreamÖжÁÈ¡µÄÊý¾Ý,int offÖ¸¶¨Êý×ébµÄÆ«ÒÆµØÖ·£¬Ò²¾ÍÊÇÊý×ébµÄÆðʼϱ꣬int lenÖ¸¶¨ÐèÒª¶ÁÈ¡µÄ³¤¶È£¬·½·¨·µ»ØÊµ¼Ê¶ÁÈ¡µÄ×Ö½ÚÊý¡£¸ÕѧJavaµÄÅóÓÑ¿ÉÄÜҪ˵£ºÏȶ¨ÒåÒ»¸öÓëÁ÷³¤¶ÈµÈ³¤µÄ×Ö½ÚÊý×飬µ÷ÓÃread·½·¨£¬Ö¸¶¨ÆðʼϱêΪ0£¬Ö¸¶¨¶ÁÈ¡³¤¶ÈÓëÊý×鳤¶ÈµÈ³¤£¬²»ÊÇÒ»ÏÂ×Ó¿ÉÒÔ¶Á³öÀ´ÁËÂð£¿ËµµÄû´í£¬±ÊÕßÔø¾Ò²ÊÔ×ÅÕâÑù¶ÁÈ¡Êý¾Ý£¬µ«ºóÀ´·¢ÏÖÔÚ¶ÁÈ¡ÍøÂçÊý¾ÝʱºÜ²»°²È«£¬ÎÒÃÇÏëÏëÔÚÍøÂçÉÏ»ñÈ¡Êý¾Ý¿ÉÄܲ¢Ã»ÄÇôÁ÷³©£¬Êý¾ÝÁ÷µÄ´«ËÍ¿ÉÄÜ»á¶Ï¶ÏÐøÐø£¬ËùÒÔ²¢²»Äܱ£Ö¤Ò»´Î¾ÍÄܶÁȡȫ²¿Êý¾Ý£¬ÌرðÊÇÔÚ¶ÁÈ¡´óÈÝÁ¿Êý¾Ýʱ¸üÊÇÈç´Ë£¬ËùÒÔÎÒÃDZØÐëÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²âʵ¼Ê¶Áµ½µÄ³¤¶È£¬Èç¹ûûÓжÁÍêÒÑÖª³¤¶ÈµÄÊý¾Ý¾ÍÓ¦¸ÃÔٴζÁÈ¡£¬ÒÔ´ËÑ»·¼ì²â£¬Ö±µ½Êµ¼Ê¶ÁÈ¡µÄ³¤¶ÈÀÛ¼ÓÓëÒÑÖªµÄ³¤¶ÈÏàµÈ£¬ÏÂÃæµÄ´úÂëʵÏÖÁËÕâÒ»¹¦ÄÜ£º
ServletInputStream inStream = request.getInputStream(); //È¡HTTPÇëÇóÁ÷
int size = request.getContentLength(); //È¡HTTPÇëÇóÁ÷³¤¶È
byte[] buffer = new byte[size]; //ÓÃÓÚ»º´æÃ¿´Î¶ÁÈ¡µÄÊý¾Ý
byte[] in_b = new byte[size]; //ÓÃÓÚ´æ·Å½á¹ûµÄÊý×é
int count = 0;
int rbyte = 0;
while (count < size) { //Ñ»·¶ÁÈ¡
rbyte = inStream.read(buffer); //ÿ´Îʵ¼Ê¶ÁÈ¡³¤¶È´æÓÚrbyteÖÐ
for(int i=0;i < rbyte ; i++){
in_b[count + i] = buffer[i];
}
count += rbyte;
}
Èý¡¢ÔÚ²»ÖªµÀÁ÷³¤¶È
Ïà¹ØÎĵµ£º
import java.io.IOException;
public class test {
/**
* ±àÂë
* @param filecontent
* @return String
*/
public static String encode(byte[] bstr){
return new sun.misc.BASE64Encoder().encode(bstr);
}
/**
* ½âÂë
* @param filecontent
* @return string
*/
public static ......
¶¯Ì¬´úÀí£º
public interface Qingke {
void qk();
}
public class dsz implements Qingke{
public void qk() {
System.out.print("dsz qk");
}
}
public class Secretary implements InvocationHandler {
private Object pro;
private dsz dsz;
public Obj ......
¡¾Ò»¡¿»ùÓÚ×Ö½ÚµÄÊäÈëÁ÷
ÖµµÃ×¢ÒâµÄµØ·½ÓУº
¢ÙLevel 2µÄÊäÈëÁ÷£¬´ó¶àÊý¶¼»áÖ¸Ã÷Êý¾ÝÔ´µÄÐÎʽ£ºÀýÈçByteArray£¬File£¬Piped
¢ÚLevel 3µÄÊäÈëÁ÷£¬Ôò²»»á³öÏÖ¾ßÌåµÄÊý¾ÝÔ´Ãû×Ö£¬¶øÊÇÒÔ¹¦ÄÜÈ¡´ú£ºÀýÈçBuffered£¬LineNumber
ËùÒÔ˵Level 3µÄÊäÈëÁ÷ÊǶÔLevel 2ÊäÈëÁ÷µÄ“·â×°ºÍ¹ýÂË”¡£Êµ¼ÊÉÏLevel 2µÄÊäÈëÁ÷£¬¶ ......