请教各位大佬,jsp编码解析流程遇到的疑惑

  • 无法理解:“不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码”这句话。
  • 疑问1:那我GBK写的jsp,经过了第一步,pageEncoding=‘gbk’,那肯定翻译成GBK的Servlet(.java)文件啊。那到了第二阶段,难道她还会将我GBK格式java源码转换成UTF-8格式吗?再或者是将GBK格式的JSP文件又翻译成UTF-8格式的JAVA源码?
  • 疑问2:它凭借什么将设置了pageEncoding='xxx’的其他格式的JSP文件,一定全部转成UTF-8格式的java源码
  • 来只一个萌新菜菜的提问。希望有大佬回答0.0

疑问 1 : 不知道你那里截得的图, 图中的作者可能没有理解很全面,你的理解是正确的得到的是GBK编码的servlet java 文件,这个java文件中如果包含中文肯定是乱码的。, javaC 编码是会根据你的系统来获取的, 可以指定 javac的编码方式如:

javac -encoding utf8 ojbk.java

疑问2: 你设置其他编码, 就乱码。 为啥呢,因为 jsp 引擎去读取这个jsp文件的时候回去读取这个pageEncoding 然后去将其转化为servlet。如果你没有设置pageEncoding 这个jsp引擎就默认使用iso8859-1编码就会导致乱码。

2 个赞

谢谢大佬的讲解,明白了lol