IDE的默认编码是GBK,然后我在类里写了
String a = URLEncoder.encode("高大", "UTF-8");
String b=URLDecoder.decode(a, "UTF-8");
String c=new String (a.getBytes("UTF-8"),"GBK");
打印的
a=%E9%AB%98%E5%A4%A7
b=高大
c=%E9%AB%98%E5%A4%A7
当我把IDE的编码格式改为UTF-8后,我写了上面同样的代码,打印的为
a=%EF%BF%BD%DF%B4%EF%BF%BD%E9%AB%98%E5%A4%A7
b=???高大
c=%EF%BF%BD%DF%B4%EF%BF%BD%E9%AB%98%E5%A4%A7
什么情况?为什么b会是这样的?高手指教。
String a = URLEncoder.encode("高大", "UTF-8");
String b=URLDecoder.decode(a, "UTF-8");
String c=new String (a.getBytes("UTF-8"),"GBK");
打印的
a=%E9%AB%98%E5%A4%A7
b=高大
c=%E9%AB%98%E5%A4%A7
当我把IDE的编码格式改为UTF-8后,我写了上面同样的代码,打印的为
a=%EF%BF%BD%DF%B4%EF%BF%BD%E9%AB%98%E5%A4%A7
b=???高大
c=%EF%BF%BD%DF%B4%EF%BF%BD%E9%AB%98%E5%A4%A7
什么情况?为什么b会是这样的?高手指教。
IE会对URL进行怎样的编码?如果我把“高大”换成UTF8编码后的代码,又会怎样编码?
你把String a = URLEncoder.encode("高大", "UTF-8");这句话删掉重新写此就OK了
正解,就是你改了IDE编码以后没有重新 按照新的编码写文件
文件自动把你(高大)的UTF-8 改成了GBK
应用服务器对url的编码是可以设置的。