java开发中的pageEncoding与charset的设置编码问题

(1)在JSP中,pageEncoding=“gbk”:是作用jsp文件转成java文件的编码。(以什么方式读取jsp)

                                               charset:是作用服务器返回客户端使用的编码。(以什么方式把这个jsp返回到

                                                              客户端)

        运行过程:

        ①jsp页面   -->   根据pageEncoding编码生成java源文件   -->   编译器生成utf-8的字节码文件class  -->    服务

                                 器根据charset编码把字节码解释生成数据,并返回到客户端

        ②java源文件  -->编译器会把各种编码的源文件统一生成utf-8编码的字节码文件

(2)在一个jsp页面中,指定了pageEncoding,没有指定charset。那么会以pageEncoding返回客户端

                                            指定了pageEncoding,指定charset。那么会以charset返回客户端

                                           没有指定pageEncoding,指定charset。那么会以charset返回客户端

                                            没有指定pageEncoding,没有指定charset。那么会以 ISO8859-1返回客户端

(3)其他的设置编码格式的方式

          ①request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码(语句放在获取属

              性之前,如果你放在属性之后,就使用了默认编码)

            (对于在servlet中获取到正确中文数据,只有使用post方式提交数据,这个方法才有效。如果采用url或者

             get方式传递参数。系统会采用默认的ISO- 8859-1编码对参数获取。当然,可以改tomcat配置文件,或者

             getBytes,然后在转码获取

         ②response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码(与charset的

             作用是一样的)

(4)myeclipse中的properties(alt+enter) 会显示当前工程,文件(java,html,jsp)的编码格式。要想读取完整的数

          据,需要使用对应的编码格式

             总结:你要明白一个文件是以什么编码存放的,然后就用相应的编码获取它

你可能感兴趣的:(java,SE)