java URLEncod编码乱码问题与系统汉字编码的关系。

liuxiaohui1987 2009-12-15 04:04:04
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会是这样的?高手指教。
...全文
213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxiaohui1987 2010-01-08
  • 打赏
  • 举报
回复
谢谢各位,学习了!
晴天v1 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuxiaohui1987 的回复:]
如果在IE里写的URL:http://ip/a/index.jsp?a=高大
IE会对URL进行怎样的编码?如果我把“高大”换成UTF8编码后的代码,又会怎样编码?


[/Quote]
如果你的应用服务器用的是tomcat,不设置tomcat的编码的话,url中的中文会默认先转为iso8859-1.
应用服务器对url的编码是可以设置的。
kbzl251 2009-12-15
  • 打赏
  • 举报
回复
我就来看看
liuxiaohui1987 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 woaimmwwyy 的回复:]
引用 1 楼 liuxiaohui1987 的回复:
如果在IE里写的URL:http://ip/a/index.jsp?a=高大
IE会对URL进行怎样的编码?如果我把“高大”换成UTF8编码后的代码,又会怎样编码?




正解,就是你改了IDE编码以后没有重新 按照新的编码写文件
  文件自动把你(高大)的UTF-8 改成了GBK
[/Quote]
IE会对URL进行怎样的编码?
woaimmwwyy 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuxiaohui1987 的回复:]
如果在IE里写的URL:http://ip/a/index.jsp?a=高大
IE会对URL进行怎样的编码?如果我把“高大”换成UTF8编码后的代码,又会怎样编码?


[/Quote]

正解,就是你改了IDE编码以后没有重新 按照新的编码写文件
文件自动把你(高大)的UTF-8 改成了GBK
临碣 2009-12-15
  • 打赏
  • 举报
回复
你把它先编码,后解码,当然得到原字符串了.
daihui05 2009-12-15
  • 打赏
  • 举报
回复
是这样的:本来IDE是GBK的,换成UTF-8后汉字显示会出现问题,有的是乱码,有的干脆就看不到了
你把String a = URLEncoder.encode("高大", "UTF-8");这句话删掉重新写此就OK了
liuxiaohui1987 2009-12-15
  • 打赏
  • 举报
回复
如果在IE里写的URL:http://ip/a/index.jsp?a=高大
IE会对URL进行怎样的编码?如果我把“高大”换成UTF8编码后的代码,又会怎样编码?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧