摘要:
本文介绍一个简单案例test.java在cmd窗口中编译运行时输出的字符“hello(你好)!”是否乱码的4个影响因素。比如test.java是UTF-8编码的,在cmd窗口使用命令javac -encoding UTF-8 test.java指定jvm编译的编码为UTF-8,然后使用java -Dfile.encoding=UTF-8 test指定jvm运行的编码为UTF-8,cmd窗口的编码为UTF-8,运行后在cmd窗口输出”hello(你好)!”。随着4个影响因素的编码方式的变化,cmd窗口的输出有时会乱码。
本文还介绍了在tomcat6+jdk6环境下,前后端交互时URL、请求头、应答头、请求体和应答体中字符编解码的详细流程。比如浏览器发送ajax请求时,会对URL进行encodeURIComponent的处理,Tomcat会使用URLDecoder.decode对URL字符串进行还原;但还原后的编码是ISO8859-1,需要使用UTF-8重新解码字节码。如果你经历过金融老项目(开发环境通常是Tomcat6+jdk6),一定碰到过乱码的问题,本文很好的解释了乱码出现的原因。 阅读全文
posted @ 2025-04-13 14:11
风吹草
阅读(21)
评论(0)
推荐(0)