关于web项目的乱码问题总结

    关于项目中的乱码问题:
          1 乱码经常出现在什么位置?
             * 数据"传递"过程中的乱码
             * 数据"展示"过程中的乱码
             * 数据"保存"过程中的乱码
          2 数据保存过程中的乱码?
            -最终保存到数据库中的时候,出现乱码
            -导致数据保存中的乱码有以下两种情况:
              -第一种情况:保存之前数据本事就是乱码,保存到数据库中一定是乱码
              -第二种情况:保存之前数据不是乱码,但由于数据库不支持简体中文出现乱码
             
          3 数据展示过程中的乱码?
             -最终显示到网页上出现乱码
             -经过Java程序之后,Java程序负责向浏览器响应的时候,中文出现乱码
             -解决办法:
                -设置相应内容类型,以及对应的字符编码方式:
                     response.setContentType("text/html;charset=UTF-8");
              -没有经过Java程序,HTML页面程序乱码
                <meta content="text/html;charset=UTF-8">
           4 数据传送过程中的乱码?
              -将数据从浏览器发送给服务器的时候,服务器接收到的是乱码。
              -解决方案:
                 -第一种解决方案:万能方式: 既能解决POST请求乱码,也可以解决GET请求乱码
                 - 先将服务器中接收到的数据采用ISO-8859-1的方式解码回归原始状态
                                                 再给定一种支持简体中文的编码方式进行重新编码组装  代码如下【组装的编码方式应该与浏览器编码方式相同】
                   byte[] bytes=dname.getBytes("ISO-8859-1");//解码
                   dname=new String(bytes,"GBK");//编码,GBK应与浏览器编码相同
                  
                 -第二种解决方案:【只支持POST请求,对请求体编码】
                   -调用request的setCharacterEncoding()方法,告诉tomcat服务器请求体中的内容使用utf-8编码
                                             代码:
                   request.setCharacterEncoding("UTF-8");
                   String dname=dname.getParameter("dname");
                   -以上代码必须在request中获取任何数据之前有效果
                  
                  -第三种解决方案: 专门解决GET请求的编码问题【这种方式只对请求行进行编码】
                    -修改CATALINA_HOME/conf/server.xml文件
                    <Connector port="8080"
                      protocol="HTTP/1.1"
                      connectionTimeout="20000"
                      redirectPort="8443"
                      URIEncoding="UTF-8"/>
                     
                      Connector标签能够编写的属性:
                          CATALINA_HOME\webapps\docs\config\http.html
                          port 端口
                          maxThreads Tomcat服务器最高支持并行线程数,默认支持数200
                          URIEncoding 设置请求行上的编码方式解决GET请求乱码
                   
                    
                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值