我想知道关于jsp页面编码的问题
pageEncoding的作用就是告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。网上说对于jsp转化的.java在被编译器读入的时候默认采用的是操作系统...
pageEncoding的作用就是告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。
网上说对于jsp转化的.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。
但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。
网上还说一般情况下,在jsp文件中的字符串出现了乱码时,基本上都是由于pageEncoding设置错了编码引起的,比如你的jsp文件是以gbk编码保存的,但是你的jsp页面的pageEncoding却是utf-8的,就会出现乱码。(这里所说的情况只是在一个jsp页面添加了一些静态文本内容,不涉及浏览器提交的表单数据等等)
对于上述内容我自己尝试了一下,如果用配置了tomcat6的eclipse3.7.2来部署一个web项目,用记事本建了一个后缀为.jsp的文件,然后在body里面写了一句中文,确实和上面说的类似,如果我把pageEncoding设置为utf-8,启动tomcat后,浏览器显示的中文是乱码,然后我查看该jsp页面对应的.java文件发现中文就已经是乱码了,但是我改为gbk编码jsp就正常转化了。
我想是不是因为我的jsp文件是用记事本写的,本来是以本地的GBK编码格式存储的,然而pageEncoding又指定该jsp文件以utf-8编码的格式存储,所以中文出现了乱码
但是在MyEclipse中不是新建一个jsp页面大家都一般把pageEncoding默认改为utf-8格式的编码吗,这样做是提高了网站的通用性,但是根据上面的情况来说在jsp转化为java文件的时候中文不是应该出现乱码吗,是不是myeclipse新建的jsp和自己用记事本来写的jsp处理的方式不一样,还是我对页面编码有误解···请大神指导下······ 展开
网上说对于jsp转化的.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。
但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。
网上还说一般情况下,在jsp文件中的字符串出现了乱码时,基本上都是由于pageEncoding设置错了编码引起的,比如你的jsp文件是以gbk编码保存的,但是你的jsp页面的pageEncoding却是utf-8的,就会出现乱码。(这里所说的情况只是在一个jsp页面添加了一些静态文本内容,不涉及浏览器提交的表单数据等等)
对于上述内容我自己尝试了一下,如果用配置了tomcat6的eclipse3.7.2来部署一个web项目,用记事本建了一个后缀为.jsp的文件,然后在body里面写了一句中文,确实和上面说的类似,如果我把pageEncoding设置为utf-8,启动tomcat后,浏览器显示的中文是乱码,然后我查看该jsp页面对应的.java文件发现中文就已经是乱码了,但是我改为gbk编码jsp就正常转化了。
我想是不是因为我的jsp文件是用记事本写的,本来是以本地的GBK编码格式存储的,然而pageEncoding又指定该jsp文件以utf-8编码的格式存储,所以中文出现了乱码
但是在MyEclipse中不是新建一个jsp页面大家都一般把pageEncoding默认改为utf-8格式的编码吗,这样做是提高了网站的通用性,但是根据上面的情况来说在jsp转化为java文件的时候中文不是应该出现乱码吗,是不是myeclipse新建的jsp和自己用记事本来写的jsp处理的方式不一样,还是我对页面编码有误解···请大神指导下······ 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询