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

xiaoxiao2021-02-28  111

关于项目中的乱码问题:           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请求乱码                                                          
转载请注明原文地址: https://www.6miu.com/read-39658.html

最新回复(0)